さて、私はしばらく頭を悩ませてきました。しかし、私の問題の解決策を見つけることができませんでした。私が持っているのは、ObservableCollection TabItems を備えた MainViewModel です。MainViewModel は、TabControl をホストする MainView (ユーザー コントロール) の DataContext として設定されます。タブコントロールは TabItems コレクションにバインドされています。タブ コントロールのコンテンツは、ReportItems ユーザー コントロールになります。
このセットアップは、基本的に SSRS のレポート UI のレポート用です。最初のタブには、ユーザーがレポート パラメータを選択する場所からいくつかのリスト ボックスを表示する、選択するレポートのリストが含まれています。パラメータを選択した後ではなく、ユーザーがボタンをクリックすると、レポートが生成され、レポート ホストを含むタブ コントロールにタブが追加されます。
メイン ビューではなくタブからレポートを選択しようとしている理由は、選択するパラメーターが多数あり、リストボックスを MainView に追加すると、タブコントロール用に残されたスペースが少なくなり、ユーザーレポートを表示するには、下にスクロールする必要があります。
私の設計に欠陥があるかどうかはわかりませんが、新しい ReportItemViewModel を追加して TabItem コレクションに追加する方法を見つけたかったのです。これは、ReportItemViewModel オブジェクトを MainViewModel に送信してコレクションに追加することで、子タブが兄弟を追加できるようにすることを意味します。
そのために静的コレクションを使用することを考えましたが、それは私の OnPropertyChange メソッドを呼び出しません。また、コレクションが静的ではないため、コレクションにオブジェクトを追加できないため、MainViewModel に静的メソッドを使用しても役に立ちません。
開始方法に行き詰まっているため、ここにコードを投稿していません。ここで別の投稿を見ましたが、使用方法がわかりませんでした。
長い説明で申し訳ありませんが、質問を明確にしたかっただけです。
より良いデザインを手に入れることができれば、どんな提案も歓迎します。私は必死で、助けていただければ幸いです。