MVVMアプリケーションで通常のWPFカレンダー(System.Windows.Controls.Calendar)を使用しています。カレンダーは一度に1カ月表示され、ユーザーは1日を選択します。カレンダーは翌月の数日を底に表示します。これは問題ありません。カレンダーデータバインドで間違った日付が選択される
問題は、私は来月から日(翌月の例えば第二)を選ぶならば、カレンダー最初にこの日付でデータバインディングを更新し、その後すぐの第一に、再びそれを更新するです月!
これは、選択した翌月のすべての日付に発生します。
カレンダーのSelectedDateおよびDisplayDateプロパティは、ビューモデルのDateプロパティにバインドされたデータです。
<Calendar SelectedDate="{Binding Date}" DisplayDate="{Binding Date}" />
ビューモデルは、なぜこれが起こっている私は理解していないこの
public class CalendarProblemDemoViewModel : INotifyPropertyChanged
{
private DateTime _date;
public CalendarProblemDemoViewModel()
{
_date = DateTime.Today;
}
public DateTime Date
{
get { return _date; }
set
{
_date = value;
Debug.Write($"new date {_date}\n");
OnPropertyChanged(nameof(Date));
}
}
// Note: other code omitted, see the github project
}
のように見えますか?
したがって、両方を同じプロパティ「日付」にバインドしました。 'SelectedDate'が' DisplayDate'と違うかどうか試してみましたか? –
これは実際にLOLの問題を解決します!だからカレンダーの内部の仕組みと関係がありますか?私は逆アセンブラを起動して見ていると思う。 – Grubl3r
私たちが助けてくれてうれしいです:) –