オブジェクト内の DataTime にバインドされた DatePicker があり、実行時に DatePicker の文字列 "Select a Date" の代わりに "1/1/0001" が表示され、実際のカレンダーを使用するのが難しくなります。DatePicker を文字列にバインドしていたときは問題ありませんでしたが、DateTime に変更するとこうなりました。これがどのように機能するか教えてください。これは私がこれまでに持っているものです:
XAML には次のものがあります。
<DatePicker Grid.Column="4" Grid.Row="9" Name="dueDateBox" VerticalAlignment="Center">
<DatePicker.SelectedDate>
<Binding Path="DueDate" UpdateSourceTrigger="PropertyChanged" Mode="TwoWay">
<Binding.ValidationRules>
<my:DateRangeRule/>
</Binding.ValidationRules>
</Binding>
</DatePicker.SelectedDate>
</DatePicker>
私が持っているC#で:
public DateTime DueDate
{
get { return dueDate; }
set
{
if (DueDate != null) || !DueDate.Equals(value))
{
dueDate = value;
OnPropertyChanged("DueDate");
}
}
}
依存関係プロパティも設定していますが、これが役割を果たしているかどうかはわかりません:
public static readonly DependencyProperty DueDateProperty =
DependencyProperty.Register("DueDate", typeof(DateTime),
typeof(UpdateJobDialog), new PropertyMetadata(DateTime.Now));