現在のアプリケーションで MVVM 関連の問題を次々と解決していくにつれて、さらに多くの問題が発生し続けています。:)
私が置き換えようとしている現在の実装には、(構成ファイルを参照して) 多かれ少なかれ動的に子が生成される StackPanel が含まれます。各子は UserControl のインスタンスです。以前は、StackPanel に名前を割り当ててから、Window_Loaded イベント ハンドラーで、必要な子の数を決定し、それぞれに対して 1 つの UserControl をインスタンス化し、UserControl に ID を割り当てて、それがわかるようにするだけでした。特定の UserControl インスタンスでクリックされたボタンの適切なソース。各 UserControl には 3 つのボタンがあります。
したがって、StackPanel をコレクションにバインドする必要があることはわかっています。ListBox や ListView (または ItemsControl 自体) など、ItemsControl から派生したものを使用する必要があるため、これはもちろん不可能です。MVVM 化の最初の反復を簡単にするために、ListBox を使用します。
問題は、コード ビハインドの ObservableCollection を ObservableCollection にする必要があるかどうかです。これは、GUI をどのようにスキンしても、この ListBox には、MyUserControl の XAML ファイルでどのように見える子も常に存在することを意味すると思います。これもカスタマイズ可能にしたいのですが、これは、MVVM パターンを UserControl にも適用する必要があることを意味すると思います。