CollectionChanged
を実装するコレクションのイベントからいくつかのカスタム オブジェクトを取得しようとしていますINotifyCollectionChanged
。
MyControl_MyCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
if(e.Action == NotifyCollectionChangedAction.Add)
{
lock(e.NewItems.SyncRoot)
{
var myItems = e.NewItems.OfType<MyType>();
if(myItems.Any())
{
//do stuff
}
}
}
}
私が直面している問題は、myItems
常に「列挙で結果が得られませんでした」ということです。
デバッグを展開するとe.NewItems.SyncRoot
、次のようになります。
e.NewItems.SyncRoot | {object[1]}
|-[0] | {System.Linq.Enumerable.WhereSelectListIterator<MyType, IMyInterface>}
| |-base ...
| |-Non-public members
| |-Results View | Expanding the Results View...
| |-[0] | MyType
明らかにデータはそこにあります。このデータを取得する方法は何ですか?