dataGridでListViewCollectionクラスを使用しています。基礎となるコレクションは、観察可能なコレクションです。
コレクション(ViewModelにある)でMoveメソッドを呼び出すたびに、CurrentChangedイベントは発生しません。
ただし、UIが同じメソッドを呼び出すと(コールスタックで確認できます)、イベントは発生します。
this.EmailTemplates = new ListCollectionView(templateVmList);
this.EmailTemplates.CurrentChanging += (o, e) => EmailTemplates_CurrentChanging(o, e);
this.EmailTemplates.CurrentChanged += (o, e) => { this.SelectedEmailTemplate = (EmailTemplateViewModel)this.EmailTemplates.CurrentItem; };
if (this.EmailTemplates.Count > 0)
{
if (!this.EmailTemplates.MoveCurrentToFirst())
throw new ArgumentException("Element not found in collection");
}
コレクションを誰が変更しても、イベントが確実に発生するようにするには、コードで何をすべきですか。