【发布时间】:2010-01-25 15:19:13
【问题描述】:
这里的第一个问题。不管怎样,就这样吧:
我有一个带有很多 DatePicker 控件的 XAML Windows(来自 CodePlex 上的 WPFToolkit 的 DatePicker)。每个 DatePicker 的默认值为 1/1/1990,如果没有选择其他日期,我希望(或者更确切地说是我的老板 :-))以灰色斜体而不是黑色显示文本。因此,可以轻松查看日期尚未输入的字段。
这可能很容易,但我对 WPF/XAML 还是很陌生。事实上,这些是我使用它的第一步。
这就是我所拥有的,并且实际上效果很好:
<Style TargetType="{x:Type my:DatePicker}">
<Style.Triggers>
<Trigger Property="Text" Value="1/1/1990">
<Setter Property="Foreground" Value="DarkGray"/>
<Setter Property="ToolTip" Value="Please select a date"/>
<Setter Property="FontStyle" Value="Italic"/>
</Trigger>
</Style.Triggers>
</Style>
问题是,由于本地化/区域设置问题,它并不适用于每台机器。
所以我尝试了这个:
<Style TargetType="{x:Type my:DatePicker}">
<Style.Triggers>
<Trigger Property="Text" Value="{Binding Source={x:Static p:Settings.Default}, Path=MinDate, Mode=TwoWay}">
<Setter Property="Foreground" Value="DarkGray"/>
<Setter Property="ToolTip" Value="Veuillez choisir une date"/>
<Setter Property="FontStyle" Value="Italic"/>
</Trigger>
</Style.Triggers>
</Style>
注意触发器的“值”属性的不同。这会产生以下错误:
无法在 “触发器”类型的“值”属性。一种 “绑定”只能设置在 a 的 DependencyProperty 依赖对象。
我确实理解它的含义,并且我理解为什么这不起作用。 (请注意,MinDate 是 DateTime 类型,值为 1/1/1990)
那么,我如何在所有计算机上实现我的第一个代码 sn-p 的结果?
感谢您的时间。
【问题讨论】:
标签: wpf xaml triggers datepicker styles