クラス間でイベントを渡す最良の方法は何ですか。問題は次のとおりです。接続クラスがあり、特定の USB デバイスが接続されているときに、別のクラスである GUI (デバイスを構成する) に「接続済み」の記号が表示され、切断されたときに「切断」サイン。新しい eventHandler を作成し、this eventHandler を UI コントローラー クラスに追加することを考えています。接続クラスはイベントを「起動」します。これは正しいですか、それとももっと良い方法がありますか?
2 に答える
2
これには 2 つの方法があります。1 つは、接続状態が変化したときに発生するイベントを用意することです。GUI はイベントをリッスンし、その表示を適切に更新できます。これは比較的単純なモデルであり、イベントは C# 言語の一部であるため、さまざまなライブラリで適切にサポートされています。
2 つ目の方法は、Windows Presentation Foundation または同様のライブラリを使用して、データ バインディングを使用する方法です。UI コントロールは接続クラスに「バインド」し、接続クラスのプロパティが更新されると、UI は自動的に更新されます。これはセットアップが少し複雑で、ライブラリ固有です (リンクは WPF 用です)。ただし、これははるかに強力で柔軟な概念です。
于 2012-09-27T01:03:23.500 に答える
1
EventAggregator
MicrosoftPrismのを使用してみることもできます。非常に分離されており、かなり軽量であるため、私はそれを好みます。
PrismとEventAggregator
:の詳細
http://msdn.microsoft.com/en-us/library/ff921122(v=pandp.20).aspx
于 2012-09-27T01:24:53.920 に答える