簡體   English   中英

WPF和WinForms控件之間進行對話的最佳方式是什么?

[英]What is the best way to talk between WPF and WinForms controls?

我的項目是用WinForms(C#)編寫的。 我有將放置在項目中的WPF用戶控件(實現為MVVM)。 某些WinForms用戶控件應該對WPF用戶控件中所做的更改進行交談/做出反應。 我可以想到幾種方法:

  1. 用戶控件可以公開屬性。 例如:UC3將引用UC4,而UC4將引用WPF-UC。 UC3也將引用UC2,后者將引用UC1,因此UC1可以訂閱WPF-UC中的某些事件。
  2. 使用某種介體,因此我們將依賴性降到最低。
  3. 注入某種服務,基本上可以是調解員。

我認為方法2是最好的,因為我總是可以移動控件。 另一方面,這種方法可能帶來哪些弊端/陷阱? 你怎么看?

如果方法2最好,那么可以使用任何庫代替重新發明輪子嗎?

例如,在下面的圖像中-TARGET應該在WPF UserControl更改時進行更新。 黑色-WinForms控件。 紅色-WPF控制。

在此處輸入圖片說明

我將在WPF ViewModel中創建委托,並且由於它是Winforms模塊創建的實例,因此可以在其中注冊這些事件,然后可以根據自己的喜好指示其他winforms組件執行操作,因為它們也已連接到已注冊的組件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM