简短的问题:
如果您有一个由多个部分组成的控件(如 DatePicker,它由 PART_Root、PART_Button、PART_Textbox 等组成),您如何将内部控件模板的触发器绑定到整个控件的有效性?
长问题:
我正在尝试自定义 DatePicker 控件模板,它由几个主要部分组成,最重要的是:
- PART_Root
- PART_Button
- PART_文本框
我通过使用样式定位 DatePickerTextBox 来覆盖 PART_TextBox 的模板,该样式实质上仅替换了 DatePicker 的 PART_TextBox 内容。
现在,我想在 PART_Textbox 的控件模板中实现一些特殊的自定义验证元素,但我无法触发它们显示。我试过使用
<DataTrigger Binding="{Binding Path=Validation.HasError, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DatePicker}}}">
但由于某种原因它不起作用......