私は次の日付ピッカーを持っています:
<xctk:DateTimePicker HorizontalAlignment="Right" Margin="0,23,671,0" Name="datepicker" VerticalAlignment="Top" Width="120" Height="49" BorderBrush="Black" Cursor="Hand" ValueChanged="dateTimePicker1_ValueChanged" />
ご覧のとおり、コンポーネントには valueChanged イベントがあります。イベント コードは次のようになります。
private void dateTimePicker1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
DateTime date = (DateTime)datepicker.Value;
datepicker.Text = date.Date.ToString();
UpdateDateLabels(date);
}
private void UpdateDateLabels(DateTime date)
{
dstart.Content = date.Date.ToShortDateString();
switch (datebox.SelectedIndex)
{
case 0:
date.AddDays(1);
break;
case 1:
date = date.AddDays(7);
break;
case 2:
date = date.AddMonths(1);
break;
case 3:
date = date.AddYears(1);
break;
default:
break;
}
MessageBox.Show(datebox.SelectedValue.ToString());
dend.Content = date.Date.ToShortDateString();
}
ご存知の方もいらっしゃると思いますが、datepicker は次のようになります。
矢印キー(上下)をクリックすると、すべてが正常に機能します。ただし、ボタンをクリックしてカレンダーを表示すると、実際には変更せずに changedevent が既に発生しています (次のエラーが発生する前にカレンダーを表示することさえできません)。
なぜこれが起こっているのか誰にも教えてもらえますか?