Wpf 将单击的事件委托给模板化控件
由于复选框控件不会在字体大小增加时增加复选框,因此我决定创建自己的变体,因为它将在触摸屏上使用 我有以下模板:Wpf 将单击的事件委托给模板化控件,wpf,controltemplate,Wpf,Controltemplate,由于复选框控件不会在字体大小增加时增加复选框,因此我决定创建自己的变体,因为它将在触摸屏上使用 我有以下模板: <ControlTemplate x:Key="YesNoCheckbox" TargetType="{x:Type CheckBox}"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnD
<ControlTemplate x:Key="YesNoCheckbox" TargetType="{x:Type CheckBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Width="100" Name="myButton"/>
<ContentPresenter Grid.Column="1" Margin="4,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Left" RecognizesAccessKey="True"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Content" TargetName="myButton" Value="Ja"/>
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Content" TargetName="myButton" Value="Nei"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
但是,我需要将单击事件从按钮委托给复选框,以便选中状态为选中/未选中
我是一个完全的新手,这可能很容易,但我无法搜索这些信息,可能是因为缺少正确的关键字来搜索
我期待着收到你的来信
谢谢
Stefan复选框本身就是一个切换按钮,您试图在其中放置另一个按钮,这是错误的
复选框在单击时会自动更改其IsChecked。所以你不需要在里面定义另一个按钮。您需要做的是在复选框模板中定义一个可视图形,该图形将在FontSize增大时缩放,并反映当前复选框状态。基本上,您需要修改默认样式。为什么这是错误的?此控件与嵌套控件(例如名称:)之间有什么区别?@Vincent-Name:不同。首先,你要做的是。这有什么意义吗?第二,不要混合逻辑控件组合和控件模板。在WPF中,控件设计为无外观。这意味着它们定义了对点击的行为响应、状态等,并且它们的外观在您可能想要更改的控件模板中定义。在您的案例中,您需要定义一个新的外观,但是复选框的行为应该保持不变。