更改WPF DatePicker的Foreground属性确实会更改文本框中文本的颜色,但不会更改Background属性。但您可以通过样式化包含的DatePickerTextBox来更改它。所以我最终得到了这个:
<DatePicker Foreground="Yellow" >
<DatePicker.Resources>
<Style TargetType="{x:Type DatePickerTextBox}" >
<Setter Property="Background" Value="Black" />
</Style>
</DatePicker.Resources>
</DatePicker>
在没有模仿整个控制的情况下,是否有更简洁的方法? 有没有办法模拟命名部分,即PART_TextBox?
答案 0 :(得分:2)
您可以更改DatePickerTextBox样式
代码
<DatePicker>
<DatePicker.Resources>
<Style TargetType="{x:Type DatePickerTextBox}">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<TextBox x:Name="PART_TextBox"
Text="{Binding Path=SelectedDate, RelativeSource={RelativeSource AncestorType={x:Type DatePicker}}}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</DatePicker.Resources>
</DatePicker>
答案 1 :(得分:0)
在没有模仿整个控制的情况下,是否有更简洁的方法?有没有办法模拟命名部分,即PART_TextBox?
没有。您无法设置在控件模板中定义的元素的任何属性(并且不会绑定到&#34; parent&#34;控件本身)的任何属性,而无需重新定义整个模板或使用隐式样式。
答案 2 :(得分:0)
这也是组合框的问题。您可以添加触发器来修复此问题,如图所示。
#cookbook bump forcing:
cookbook 'build-essential', '~>8.0'
cookbook 'ohai', '~>5.2'