2

シナリオ

新しいアプリケーションの WPF テクノロジに取り組むことにしました。このアプリケーションは、WinForms ウィンドウからのメニュー クリックで呼び出す必要があります。そこで、WPF UserControl ライブラリを作成し、それを統合して、Element Host を使用して親の WinForms フォームに表示します。

私のアプリケーション

これには、tabContent コントロールを使用して別のユーザー コントロール内にカプセル化された 3 つの子ユーザー コントロールが含まれています。Child UserControl からのイベントの発生と WinForms での処理 (イベントのサブスクライブ) が面倒に思えたので、私はこのアプローチを好みました。

私の質問

現在、適切なプロジェクト構造上の理由から Data Manager クラスを作成した Winforms 内の UserControl 要素にアクセスするという同じ困難なタスクに直面しています (UserControl には Data Manager クラス UI を含めないでください)。私のプロジェクトを構築する方法/イベントをサブスクライブする方法/WPF内のWPFUserControl要素にアクセスする方法について教えてください。

4

1 に答える 1

2

MVVM Light Toolkitの Messenger クラスを見てみましょう(スタンドアロンでも使用できます)。コントロールを切り離すのに役立ちます。メッセンジャーはパブリッシュ/サブスクライブ パターンで動作します。WPF UserControls はオブジェクトを発行でき、WinForms ホストはそれらの通知をリッスンできます。交換されるメッセージ (オブジェクト) は、WPF UC ライブラリと WinForms アプリケーション間の共有コントラクトを定義するため、別のアセンブリに配置するのが最適です。

于 2013-02-05T11:48:03.897 に答える