Jon*_*han 6 wpf styles toolkit datepicker isenabled
我想我已经DatePicker在工具包中找到了一个问题,也许你们中的一些大师可以查看它.
问题是在设置IsEnabled属性时DatePicker.如果在XAML中设置,即使IsEnabled在运行时将其设置为true ,它也会保持灰色.如果它开始启用,反过来也是如此.
该按钮只是更改了IsEnabled日期选择器的属性,您将看到它启用后,样式仍为灰色.
<Window x:Class="WpfApplication3.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:tk="http://schemas.microsoft.com/wpf/2008/toolkit"
Title="Window1" Height="300" Width="300">
<StackPanel>
<tk:DatePicker x:Name="txtDate" IsEnabled="False"></tk:DatePicker>
<Button Height="25" Click="Button_Click"></Button>
</StackPanel>
</Window>
private void Button_Click(object sender, RoutedEventArgs e)
{
txtDate.IsEnabled = !txtDate.IsEnabled;
}
Run Code Online (Sandbox Code Playgroud)
小智 7
我通过在IsEnabledChanged处理程序中显式设置DatePicker的视觉样式来解决这个问题:
private void datePicker_IsEnabledChanged(object sender, DependencyPropertyChangedEventArgs e)
{
DatePicker datePicker = sender as DatePicker;
if (datePicker.IsEnabled)
VisualStateManager.GoToState(datePicker, "Normal", true);
else
VisualStateManager.GoToState(datePicker, "Disabled", true);
}
Run Code Online (Sandbox Code Playgroud)