ユーザーコントロールのコードビハインドプロパティを、xaml階層の上位にある別のコンポーネントのコードのプロパティにバインドしようとしています。WPF - 背後にある父のコード内の別のプロパティにユーザーコントロールのコードビハインドプロパティをバインドする
IEventAggregatorプロパティのコードウィンドウにメインウィンドウがあります。メインウィンドウにはいくつかのユーザーコントロールが含まれており、ユーザーコントロールのコードの1つからそのプロパティにアクセスしようとしています。
私のxaml階層:メインウィンドウ - >いくつかのディスプレイコントロール - >それぞれのユーザーコントロールを持つタブを持つ別のディスプレイコントロール - >必要なコントロール。
現在の状況では、各タブアイテムにはユーザーコントロールがあり、各ユーザーコントロールのコンストラクターは実行に時間がかかり、アプリケーションが遅延するため、これを実行しようとしています。特定のタブアイテムがクリックされたときにのみユーザーコントロールのコンストラクターを実行して、xamlコードからユーザーコントロールを削除し、タブアイテムのクリックイベントを処理し、そのコードのコンテンツプロパティを変更しました。私が今行う必要があるのは、このコントロールに、代わりにコードから{Binding}で取得していたプロパティを与えることだけです。
私は
私は本当に助けてくれました。私はメインウィンドウに入ることができましたが、まだ小さな問題があります。メインウィンドウは私のアプリケーションを起動する「メイン」プロジェクトの一部ですが、他のすべてのウィンドウとコントロールは「プレゼンテーション」プロジェクトにあり、プレゼンテーションプロジェクトがメインウィンドウを認識するのは間違いですウィンドウを依存オブジェクトから実際のメインウィンドウクラスに移動すると、メインウィンドウの特定のプロパティにアクセスできなくなります。何か案は? –
@DannyIdlis「メイン」と「プレゼンテーション」の両方にアクセスできるインフラストラクチャのような共通のプロジェクトがありますか? – Ilan
@DannyIdlis更新されたバージョンを参照 – Ilan