[英]WPF MessageBox buttons aren't OS themed
因此,WPF中我的消息框的按鈕不是OS的主題。
我甚至嘗試過這種方法但它沒有用。
我有一個清單,我在Windows 7 Ultimate x86和.NET Framework 4 Client Profile下運行。
編輯:它現在有效。
這是WPF中的一個奇怪的故障,它缺少激活視覺樣式的管道。 雙奇是因為這不難做到。
解決方法是修改嵌入程序中的清單。 選擇您的EXE項目,然后選擇Project + Add New Item,General,選擇Application Manifest File。 您將獲得嵌入的默認清單,請注意<assemblyIdentity>
和<trustInfo>
元素。 將其粘貼在兩者之間:
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
消息框現在將具有操作系統的視覺樣式,默認情況下在Vista和更高版本上具有發光關閉按鈕的Aero外觀。
如果在Visual Studio 2010中執行此操作,則此清單條目已存在但已注釋掉。 你會在文件的底部找到它。 只需刪除注釋, <!--
在<dependency>
之前和-->
在</dependency>
請注意,在啟用調試器和Visual Studio宿主進程的情況下,未啟用此清單。 這是構建目錄中的一個不同的.exe文件,yourapp.vshost.exe。 Project + Properties,Debug選項卡,向下滾動,取消選中“啟用Visual Studio托管過程”。 這有一些與安全相關的副作用,實際上沒有太多意義,因為你的用戶永遠不會遇到這個問題。
您所做的更改已保存,但在VS中進行調試時無法查看它們。 要解決此問題,請右鍵單擊您的項目,然后單擊“屬性”,然后轉到“調試”。 頁面底部有一個名為“啟用Visual Studio托管過程”的復選框 - 取消選中此項。 建議您在進行此更改后重新啟動visual studio。
或者,您可以在不進行調試的情況下構建(CTRL + F5)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.