簡體   English   中英

使用ElementHost在Winform應用程序中托管WPF UserControl有什么不利之處?

[英]Any disadvantage to using an ElementHost to host a WPF UserControl in a Winform application?

好奇如果使用ElementHost在Winform應用程序中托管WPF UserControl有什么缺點嗎?

我問,因為總的來說我覺得我需要花很多時間創建一個新的WPF應用程序,其基本界面看起來不錯。 從某種意義上講,如果我創建一個新的Winforms應用程序並對其進行一些控制,我最終會得到一個基本界面,其外觀和行為類似於許多其他應用程序,但看起來並不簡單。 如果我對WPF應用程序做同樣的事情我覺得我沒有達到相同的結果,我最終會得到一個白色背景的“普通”應用程序,除非我將角色更改為設計師並花費額外的時間使其看起來確定辦法。

但是有些情況下WPF對我來說是可取的,因為它相對容易創建一個風格化的界面。 考慮視頻播放器控件; 在WPF中,我可以創建看起來非常漂亮和自定義的東西,但比Winforms控件花費的時間和精力要少得多。 在這些情況下,我使用WPF是有道理的,因為我最終花費的時間少於覆蓋OnPaint的時間:-)。

我意識到我使用了很多主觀術語,但這是我在原始問題背后的推理。

更新:

只是為了澄清我的“視頻播放器控制”示例。 WPF不僅可以給我播放MediaElement ,而且如果我想說,在視頻暫停時覆蓋視頻上的播放按鈕,或者我想要一個半透明的“播放/暫停/停止/音量”欄顯示當鼠標進入某個位置時,WPF比任何Winforms替代方案都要簡單得多。

編輯:

也許我有一個錯誤的配置選項或者其他東西,但是當我查看WPF與Winforms控件時,“描述”部分的消失也令人沮喪。 更加令人沮喪的是,在WPF屬性表單中按F1並不會將您帶到您所在的特定屬性/事件。

更新:

還有誰? 我更關注通過在ElementHost中托管WPF UserControl而引入的性能影響和/或功能限制。 到目前為止,它聽起來像是運行時的一次性開銷,但這就是全部嗎?

我看到一些潛在的缺點。

首先,您現在有兩種顯示UI的方法。 根據開發人員觸摸代碼,這可能會從維護的角度出現問題。

其次,WPF確實有一個與之關聯的運行時(用於調度事件,依賴項屬性管理等),但這是一次性成本。 如果您將其用於少量控件,那么您將按照其使用比例支付相對較高的成本。

我不會說這些是交易破壞者,這完全取決於您的應用程序和您的團隊。

暫無
暫無

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

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