【发布时间】:2010-11-01 07:20:26
【问题描述】:
我一直在尝试创建我的通用 ReadOnlyCheckBox 样式/模板,但我在绑定到数据时遇到了问题。在这里的例子中:
A read-only CheckBox in C# WPF
您直接绑定到 ControlTemplate 定义中的数据,但这当然不是我真正想要的,因为我希望能够像这样声明新的复选框:
<CheckBox x:Name="uiComboBox" Content="Does not set the backing property, but responds to it."
Style="{StaticResource ReadOnlyCheckBoxStyle}" IsChecked="{Binding MyBoolean}" Click="uiComboBox_Click"/>
当然,当我这样做然后将项目符号上的事件触发器设置为 IsChecked 的 TemplateBinding 时,我完全拥有我开始的内容!我想我不明白为什么直接在项目符号中设置绑定与设置 IsChecked 然后绑定到它不同,TemplateBinding 不只是引用正在创建的控件的属性中设置的内容的一种方式吗?即使数据没有更新,点击如何触发 UI 更新?是否有 Click I can override 的触发器来停止更新?
我得到了所有 DictionaryResource 的东西工作正常,所以我很高兴,为指针欢呼。
我好奇的另一件事是,如果可以通过在样式中使用 BasedOn 参数来减少我的 Control/Style 模板,那么我只会覆盖我实际需要更改的东西,而不是声明很多东西我认为无论如何都是标准模板的一部分。我可能会玩这个。
干杯
编辑
【问题讨论】:
标签: c# .net checkbox controltemplate