選択される日付が変更されるたびに毎回値を取得
ならバインディングを使わずSelectedDateChangedイベントで値を取得する方が簡単です。
WPFのバインディングとは、あるコントロールのプロパティ(この場合DatePicker.SelectedDate)とある変数を結び付ける(Binding)設定をすることで、変数に値をセットするとDatePicker.SelectedDateが勝手に更新され、逆にSelectedDateが変更されると結び付けた変数の内容が勝手に変わる仕組みです。(双方向バインディングの場合)
Sample.xaml.cs
//最小限のDatePickerバインディングサンプル
public partial class Sample : Window
{
private MyBindingSource bindsource = new MyBindingSource();
public Sample()
{
InitializeComponent();
DataContext = bindsource;
}
}
public class MyBindingSource
{
public DateTime Date { get; set; } = DateTime.Today;
}
Sample.xamlのDatePicker部分のみ
<DatePicker SelectedDate="{Binding Date}"/>
こうすることでbindsource.Date
には常にDatePickerで選択した日付が入っています。
Like!