我必须说我是 WPF 的新手。我正在构建我的第一个真正的应用程序,目前我正面临一些主题问题。这就是我发帖的原因。
为了使用一个主题,例如 ExpressionDark.xaml,我认为在应用程序级别包含它就足够了。因此,在我的 App.xaml 中,我添加了:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Skins/ExpressionDark.xaml" />
</ResourceDictionary.MergedDictionaries>
<myLib:Locator x:Key="Locator" />
</ResourceDictionary>
</Application.Resources>
这是第一个问题:我不确定我做的是否正确。将 ExpressionDark.xaml 包含在我的应用程序中,在“skins”文件夹中并以这种方式引用它是否正确?在其他地方我发现了诸如“System.Windows.Theming.ExpressionDark”之类的东西。那是正确的方法吗?
无论如何,通过使用上述方法应用主题,我可以看到几乎所有控件都以正确的方式设置样式;我说“几乎所有”是因为其中一些,比如 DataGrids 或 TextBoxes,不是。我检查了 ExpressionDark.xaml 内部,发现也为这些组件定义了样式。那么为什么我会出现这种奇怪的行为呢?
我希望我已经足够清楚地解释了一切。如果不是,请告诉我。
提前感谢您提供的任何帮助。
干杯,
G。