カレンダーを表すリストボックスを満たす ObservableCollection があります。
private ObservableCollection<DateItem> _DateList = new ObservableCollection<DateItem>();
public ObservableCollection<DateItem> DateList { get { return _DateList; } }
ユーザーが翌月を要求すると、別のクラスから既に解析された月を取得し、次のように ObservableCollection に割り当てます。
// clear DateList first
DateList.Clear();
// set month
foreach (DateItem item in parsemonth.GetNextMonth())
Dispatcher.BeginInvoke(() => DateList.Add(item));
すべて正常に動作します。ただし、データをクリアして新しいデータを追加するには、ビューでほぼ 1 秒かかります。これを最適化して、カレンダーにデータが表示されない時間を短縮できるかどうか疑問に思っています。
編集: これは実際のデバイス (Lumia 920) でのみ発生し、エミュレーターではそのような遅延はありません。