良い知らせが欲しいですか、それとも悪い知らせが欲しいですか?
幸いなことに、この問題は WPFToolkit の 2010 年 2 月のリリースで修正されたと Microsoft は述べています。そしてそれは持っています。
悪いニュースは、DatePicker の IsEnabled 値を "True" に設定すると DatePickerが有効になるため、 [カレンダー] ボタンをクリックして日付を選択できるようになりますが、無効に見えることです。
"バグ" ?「バグ」という言葉を言いましたか?
もちろん違います。
ただし、適用することでこの問題を回避でき<Style>
ます。
以下は、デモ用の簡単な xaml コードです。
2 つの行が表示され、それぞれに CheckBox と DatePicker が含まれています。行の CheckBox をクリックすると、その行の DatePicker が有効になります。
これは、スタイルのない DatePicker (最初の行) とスタイルのある DatePicker (2 行目) の違いを示しています。
両方の DatePickerが正しく有効化/無効化されますが、最初の行のものはそうであるようには見えません。2 行目の DatePicker は、Style
無効になっているときにユーザーを表示するために a を使用します。
DatePicker
このコードが、コントロールとそのDatePickerTextBox
一部の両方の Background を設定する方法に注目してください。
<Window x:Class="WPFDatePickerTest.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wpf="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit"
xmlns:primitives="clr-namespace:Microsoft.Windows.Controls.Primitives;assembly=WPFToolkit"
Title="Window1" Height="317" Width="461">
<Window.Resources>
<Style TargetType="{x:Type primitives:DatePickerTextBox}">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" Value="Transparent"/>
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="DatePickerStyle1" TargetType="{x:Type wpf:DatePicker}">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" Value="{x:Static SystemColors.InactiveBorderBrush}"/>
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<StackPanel>
<WrapPanel>
<CheckBox Height="16" Name="cbDateOfJoining" Width="120">Date of joining</CheckBox>
<wpf:DatePicker Height="25"
Name="datePicker1"
Width="140"
IsEnabled="{Binding IsChecked, ElementName=cbDateOfJoining}" />
</WrapPanel>
<WrapPanel>
<CheckBox Height="16" Name="cbDateOfLeaving" Width="120">Date of leaving</CheckBox>
<wpf:DatePicker Height="25"
Name="datePicker2"
Width="140"
IsEnabled="{Binding IsChecked, ElementName=cbDateOfLeaving}"
Style="{DynamicResource DatePickerStyle1}" />
</WrapPanel>
</StackPanel>
</Grid>
</Window>
お役に立てば幸いです!
そして、次の WPFtoolkit リリースで適切に修正されることを願っています。2009 年以来、ユーザーはこの問題について不満を漏らしてきました...