我试图在DatePicker
控件中使用自定义TextBox
,但无法从弹出日历中获取要绑定到TextBox
的日期。除非迫不得已,否则我不想对整个DatePicker
进行样式化,而且DatePickerTextBox
有自己的控件,所以必须有一种方法只改变它。下面的代码是我作为开始的代码:
<Style TargetType="{x:Type DatePickerTextBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DatePickerTextBox}">
<TextBox x:Name="PART_TextBox" Text="{Binding Path=SelectedDate}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我可能没有正确地进行绑定,或者PART_TextBox
可能不正确,因为它不是DatePicker
模板本身的一部分。
3条答案
按热度按时间jqjz2hbq1#
试试这个:
ttygqcqt2#
我知道这个问题已经解决了很长时间,但是直接绑定到DatePicker的Text属性将允许控件模板中的TextBox轻松地荣誉DatePicker提供的Short/Long格式。
“PART_TextBox”也不是必需的,因为它不是DatePickerTextBox模板的一部分。DatePickerTextBox包含的唯一部件是:
并继承自TextBoxBase...
**替代解决方案:**如果您选择不使用TextBox并使用继承的PART,则可以在不更改控件默认功能的情况下更改DatePickerTextBox。
kh212irz3#
如果您在XAML中声明了一个元素(1),然后在
Design
视图中查看它,然后可以右键单击(2)并导出其模板(3):第一章
我的天
三个人