【发布时间】:2021-03-17 19:33:36
【问题描述】:
我为CheckBox 创建了这个模板:
<ControlTemplate TargetType="{x:Type CheckBox}">
<Border x:Name="border" Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" HorizontalAlignment="Center" VerticalAlignment="Center" Background="{StaticResource StandardButtonHoveredBackground}" BorderThickness="1" BorderBrush="{TemplateBinding BorderBrush}" CornerRadius="3">
<Grid>
<CheckBox Name="MyCheckboxTemplate" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="5,0,5,0">
<TextBlock Text="{Binding ElementName=MyCheckboxTemplate, Path=Content}" Foreground="{StaticResource StandardForeground}" FontSize="12" Background="{StaticResource StandardButtonBackground}"/>
</CheckBox>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="{StaticResource HighlightedBorder}"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter TargetName="border" Property="BorderBrush" Value="{StaticResource HighlightedBorder}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
这样称呼:
<DockPanel Margin="0,30,0,0" HorizontalAlignment="Left">
<CheckBox Name="PWCheckbox" Style="{StaticResource MyCheckbox}" DockPanel.Dock="Left" Height="25" Content="Save Username" IsChecked="{Binding IsChecked}" Click="PWCheckbox_Clicked"/>
</DockPanel>
导致:
模板要怎么改才能将新创建的CheckBox中的Content="Save Username"的文字显示为模板中的<TextBlock Text="{Binding ElementName=MyCheckboxTemplate, Path=Content}" ...?
【问题讨论】:
标签: wpf xaml data-binding controltemplate