C# 复选框模板
你好 我正在尝试创建一个简单的复选框模板,但是经过无数个小时的尝试,我偶然发现了一个问题。 自定义模板只是一个C# 复选框模板,c#,.net,wpf,C#,.net,Wpf,你好 我正在尝试创建一个简单的复选框模板,但是经过无数个小时的尝试,我偶然发现了一个问题。 自定义模板只是一个网格,包含两行,一个标签,以及复选框 代码如下: <Style x:Key="OptionCheckBoxStyle" TargetType="{x:Type local:OptionCheckBox}" BasedOn="{StaticResource {x:Type CheckBox}}"> <Setter Property="Temp
网格,包含两行
,一个标签
,以及复选框
代码如下:
<Style x:Key="OptionCheckBoxStyle" TargetType="{x:Type local:OptionCheckBox}"
BasedOn="{StaticResource {x:Type CheckBox}}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:OptionCheckBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Label Content="{TemplateBinding Label}"
ToolTip="{TemplateBinding ToolTip}" >
</Label>
<CheckBox x:Name="CheckMark" Grid.Column="1"
Margin="5,0,0,0" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
问题是将此元素的IsChecked属性绑定到CheckMark元素的IsChecked属性。我尝试了以下方法(以及其他方法的组合)
有人知道这项工作所需的绑定吗?(基本上是绑定到子元素)
注意:我之所以不在整个绘制过程中模拟复选框,是因为我们运行了不同的主题,这些主题看起来与普通复选框不同
问候,,
Dan好的复选框是双向的,所以您最好将复选标记IsChecked绑定到IsChecked{Binding Path=IsChecked,RelativeSource={RelativeSource ANcestorType={x:Type local:OptioCheckBox}上,这是有效的。非常感谢您
<Setter Property="IsChecked" Value="{Binding Path=IsChecked,
ElementName=CheckMark}"/>