
正文
关于DatePicker控件在IsEnabled为False视觉效果没有明显辨识度的处理方法
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
DatePicker控件在IsEnabled为False时界面没有让人看上去不可用(背景为灰色等)的效果。容易让用户迷惑。
可以用下面的代码增加设置透明度的触发器来解决(XAML以及C#方式):
<UserControl.Resources>
<Style TargetType="{x:Type js:DatePickerEx}" >
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value="0.2"/>
</Trigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
上述XAML中的资源定义用C#代码代码实现如下:
DateTimePickerEx.OnApplyTemplate()增加如下代码:
Trigger isEnabledTrigger = new Trigger { Property = DatePickerEx.IsEnabledProperty, Value = false };
isEnabledTrigger.Setters.Add(new Setter(DatePickerEx.OpacityProperty, 0.2));
Style style = new Style(typeof(DatePickerEx));
style.Triggers.Add(isEnabledTrigger);
this.Style = style;








