gpt4 book ai didi

c# - WPF MessageBox 按钮不是操作系统主题

转载 作者:太空狗 更新时间:2023-10-29 18:02:48 34 4
gpt4 key购买 nike

所以我在 WPF 中的消息框的按钮不是操作系统的主题。
我什至试过this method但它没有用。

我有一个 list ,我在 Windows 7 Ultimate x86 和 .NET Framework 4 Client Profile 下运行。


编辑:现在有效。

最佳答案

这是 WPF 中的一个奇怪故障,它缺少激活视觉样式的管道。双奇数,因为这并不难做到。

解决方法是修改嵌入到程序中的 list 。选择您的 EXE 项目,然后选择 Project + Add New Item,General,选择 Application Manifest File。你得到嵌入的默认 list ,注意 <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 中执行此操作,则此 list 条目已存在但被注释掉了。您会在文件底部找到它。只需删除评论,<!--之前<dependency>--></dependency> 之后

请注意,当您在启用调试器和 Visual Studio 托管进程的情况下运行时,不会启用此 list 。那是你的构建目录中的一个不同的 .exe 文件,yourapp.vshost.exe。项目 + 属性,调试选项卡,向下滚动,取消选中“启用 Visual Studio 托管进程”。这有一些与安全相关的副作用,实际上这样做没有多大意义,因为您的用户永远不会遇到这个问题。

关于c# - WPF MessageBox 按钮不是操作系统主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5369689/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com