2010-08-12 9 views
0

我正在使用來自DA(無符號主題)的Soft7 2.0,並使用UxStyle服務來加載它。在WPF中應用未簽名的Windows主題

大多數應用程序調整自己的UI就好了,但不是WPF應用程序。

如何使WPF應用程序也使用Soft7 UI?我不想強制WPF上的某個主題,我只是希望它使用當前的Windows主題。

我正在運行Windows 7 x64。

回答

1

WPF和Win32是非常不同的技術,這就是爲什麼它是如此容易移植WPF到新的操作系統:它在Win32上幾乎沒有依賴。

當涉及到自定義主題,WPF模板完全改變了球賽:在WPF自定義主題功能更加強大,但也從Win32的有很大不同。這意味着主題供應商必須爲Win32和WPF實現他們的主題。

如果系統主題包括一個Win32和WPF DLL,所有你需要做的是確保WPF DLL是在你的應用程序目錄或在GAC中。 WPF會自動加載它並根據註冊的主題名稱使用它。在包含WPF DLL的系統上安裝主題應自動將其註冊到GAC中。

如果主題僅包括Win32的代碼,並且不包含任何WPF模板,得到相同的外觀和感覺WPF的唯一方法是編寫自己的模板,以匹配的主題。幸運的是,這很容易做到。

+0

這並不回答我的問題(+1)。我只能在主題文件夾中找到1個dll(shellstyle.dll)。但正如我所說的,我不想使用1種特定風格,因此重新創建主題並不是真正的選擇。 此外,即使是標準的Aero主題似乎只使用1個DLL。那麼這是如何工作的?我可以讓藝術家更新他的主題嗎? – 2010-08-13 11:05:21

+0

在GAC中,您會找到PresentationFramework.Aero.dll,它是WPF的Aero主題。藝術家必須創建一個類似的DLL並將其註冊到GAC中。 – 2010-08-13 19:12:13