あるクラスでは、ObservableCollection にオブジェクトを追加しています。別のクラスでは、追加したオブジェクトを処理してから、コレクションから削除しています。
これらの 2 つのクラスは相互に通信できないため、static
コレクションに行くことにしました (何らかの理由でクラス定義にしかアクセスできません)。
最初のクラスでは、すべての要素が適切に追加され (Count
プロパティを確認しました)、2 番目のクラスではイベントをサブスクライブしCollectionChanged
ます。ただし、イベントは発生していません。キーワードのせいだと思いますstatic
が、よくわかりません。
コードサンプルは次のとおりです。
static public class A
{
public static ObservableCollection<object> MyCollection = new ObservableCollection<object>();
}
public class B
{
public B()
{
A.MyCollection.CollectionChanged += Func_CollectionChanged;
}
void Func_CollectionChanged(...)
{
//Stuff
}
}
public class C
{
public void func()
{
A.MyCollection.Add(object);
}
}