【发布时间】:2013-01-19 09:27:54
【问题描述】:
我有一个 Devexpress DateEdit 并添加了一个触发器,用于何时 IsEnabled=False 将 ControlTemplate 更改为 Label。这一切都很好,但我的问题是,Label 的Text 仍然是Grayed out(已禁用)。
我的风格:
<Style x:Key="DateTimeDropDownStyle" TargetType="{x:Type dxe:DateEdit}">
<Setter Property="Mask" Value="dd MMM yyyy"/>
<Setter Property="MaskUseAsDisplayFormat" Value="True"/>
<Style.Triggers>
<Trigger Property="dxe:DateEdit.IsEnabled" Value="False">
<Setter Property="dxe:DateEdit.Template">
<Setter.Value>
<ControlTemplate>
<Label Content="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Text, StringFormat={}{0:dd MMM yyyyy}}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
所以,我的问题是,如何更改 Style 以使 Label 不被禁用?
【问题讨论】:
-
想到2个想法,第一个在标签级别将Label本身设置为IsEnabled = true,第二个使用IsReadOnly属性而不是IsEnabled。
-
@eranotzap 我确实尝试设置
IsEnabled=True,但没有奏效。在这里设置IsReadOnly属性不是一个选项。我仅限于IsEnabled属性。
标签: wpf xaml styles label controltemplate