我讀過WPF在底層使用DirectX來執行其渲染,它不依賴於WinForms用於呈現控件的恐龍庫。爲什麼WPF在不同版本的Windows上呈現不同?
因此,我使用WPF製作了我的Presentation層,它看起來應該在Win8下應用。
然後,我將項目部署到Windows Server 2003 ...以發現我的漂亮的小自定義消息框看起來非常像WinForms,有點笨重;按鈕控件與WinForms控件非常相似,擴展控件不再顯示爲帶圓圈的^
箭頭,並且看起來像是1998年繪製的(當您的鼠標懸停在屏幕上時,會彈出一個醜陋的方形平面按鈕上的^
箭頭圖片它)。
從臨WPF在C#2010聖經:WPF的承諾
部分是,你並不需要擔心特定硬件的細節和特性。 WPF足夠智能,可以儘可能地使用硬件優化,但它有一個軟件後備的一切。 因此,如果您在具有舊版視頻卡的計算機上運行WPF應用程序,該界面仍將以您設計它的方式出現。
那麼,這是謊言嗎?對我來說它是,因爲它不會出現我設計它的方式。
如果不是這樣,那麼爲什麼/不管這臺機器運行它的時候,該物體的渲染效果如何? 軟件後備設計模仿Win32/GDI渲染?有沒有辦法讓我的小自定義消息框在Win8和WinServer2K3上看起來完全相同?
這可能是與實際的視頻支持,winserver有問題。 Ala如果你有一個半透明的背景我不相信winserver甚至有能力做到這一點。 – Nomad101 2013-05-01 19:48:48
+1只適用於「恐龍winforms」。 – 2013-05-01 19:57:32