簡體   English   中英

WPF應用程序引用System.Windows.Forms

[英]WPF Application referencing System.Windows.Forms

我正在創建我的第一個WPF應用程序,我想了解在混合System.Windows.Forms命名空間的功能時是否存在某種最佳實踐。

基本上我想在用戶監視器的右下角默認打開一個彈出窗口。

我找不到WPF名稱空間中的Screen.PrimaryScreen.Bounds等效項。 我見過的例子建議在WPF應用程序中引用System.Windows.Forms。

這引出了我的問題,這是不好的做法嗎?考慮到默認情況下不包括此引用。

我將在現有的Windows窗體應用程序中引用WPF所需的資源,以便我可以使用這個新的WPF窗口。

這種方法有什么問題嗎?

編輯:我實際上找到了一個屬性,返回主屏幕的信息,而不引用Windows窗體。 該屬性是SystemParameters.WorkArea,我的混合引用問題仍然有效。

我不認為在需要時引用WinForms是不好的。 由於WPF仍然是一項相對較新的技術,它還沒有與WinForms完全兼容。 例如,據我所知,WPF中尚未實現標准Windows對話框(打開文件,保存文件,瀏覽文件夾等)。 在WPF應用程序中顯示這些內容的唯一方法是使用WinForms版本,或使用P / Invoke自己顯示Win32版本。 我親自使用WinForms版本,因為他們已經解決了包裝Win32 API的麻煩。

我的方法是盡可能多地使用WPF,如果WPF不能滿足我的需求,只能回退到WinForms。 希望在WPF的下一個版本中,這將變得越來越不必要了。

此外,您應該考慮資源和性能開銷,因為您的應用程序必須為Windows窗體和WPF加載程序集。 在MSDN論壇中多次提到WPF / Winforms互操作需要相當多的CPU周期......

暫無
暫無

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

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