C# WPF(VS2012):为什么应用程序中窗口的外观会根据系统而变化;安装了什么?

C# WPF(VS2012):为什么应用程序中窗口的外观会根据系统而变化;安装了什么?,c#,wpf,xaml,C#,Wpf,Xaml,屏幕截图证据(均安装在Windows 10上): 开发者系统: 其他系统: 开发人员系统上的正常对话框主题: 其他系统上的亮蓝色前景: 首先,让我描述一下应用程序的环境: 该应用程序是使用.net framework v4构建的 这是一个Windows应用程序 开发环境为VS2012(从2010年升级) 整个布局中使用的通用XML命名空间为“” 该应用程序最初是在2012年为Windows7构建的。没有开发人员更新它以与Windows 8或10兼容 问题是这样的:根据安装应用程序的W

屏幕截图证据(均安装在Windows 10上):

开发者系统:

其他系统:

开发人员系统上的正常对话框主题:

其他系统上的亮蓝色前景:

首先,让我描述一下应用程序的环境:

  • 该应用程序是使用.net framework v4构建的
  • 这是一个Windows应用程序
  • 开发环境为VS2012(从2010年升级)
  • 整个布局中使用的通用XML命名空间为“”
  • 该应用程序最初是在2012年为Windows7构建的。没有开发人员更新它以与Windows 8或10兼容
问题是这样的:根据安装应用程序的Windows 10系统的硬件配置(已证明所有系统具有相同的更新状态、安全性和累积更新数),应用程序将具有不同的颜色编码。。。在某些系统(如我自己的系统)上显示正常:

开发商:

  • 系统模型WS60 2OJ
  • 操作系统名称Microsoft Windows 10 Pro
  • 处理器Intel(R)Core(TM)i7-4720HQ CPU@2.60GHz,2601 Mhz,4核,8逻辑处理器
  • 图形NVIDIA Quadro K2100M
但对其他人来说并非如此

其他:

  • 系统模型Surface Pro 4
  • 操作系统名称Microsoft Windows 10 Pro
  • 处理器Intel(R)Core(TM)i5-6300U CPU@2.40GHz
  • 图形英特尔520@300 MHz芯片上
这种高蓝色通道编码也出现在其他系统上,如MSI GS73VR 6RF笔记本电脑


希望这能提供足够的信息。如果你想知道更多,我会尽快跟进。谢谢你的时间和耐心

你能描述一下区别吗?对我来说,第一个和第二个屏幕截图看起来非常相似。@dymanoid好吧,在前两张图片中,发生的事情是我将一个loaded()侦听器附加到一个DataGrid对象,在触发时,它访问父视图并遍历单元格,通过样式将背景更改为绿色。在第3张和第4张图片中,辅助对话框窗口在我的系统上显示正常,但在我同事的系统(以及其他一些系统)上,辅助对话框总是失去灰度并变为蓝色。编辑:如果解析的值不是零,它会将单元格重新设置为绿色。不要让操作系统应用不同的主题。可能您正在使用一些动态库加载?在这种情况下,首先加载的资源字典将用于冲突样式(相同的键或相同的目标控件)。但这只是一个猜测。请始终记住,XAML可能不会显示某些异常。因此,请确保XAML不会超越任何异常,并且可以访问外部DLL(逐个检查并解除阻止它们)