1

我想知道是否可以为不同的视觉样式添加默认的 wpf 主题(我可以使用第 3 方视觉样式,因为我的系统已修补)。

例如,PresentationFramework.Aero自动用于 aero,PresentationFramework.Luna自动用于 XP luna 主题,所以我想知道我是否可以制作一个新组件,例如PresentationFramework.Metro用于名为Metro.msstyles.

这行得通吗?我该怎么做呢?谢谢。

4

1 回答 1

0

从理论上讲,它应该工作...

我认为主题程序集是根据GetCurrentThemeName返回的主题信息选择的。例如,对于具有正常颜色的 Aero,它返回:

pszThemeFileName = "Aero"
pszColorBuff = "NormalColor"
pszSizeBuff = "NormalSize"

但是我不确定此函数是否适用于所有主题(IIRC,它不适用于 Windows XP 中的 Zune 主题),因此请确保它在开始创建主题程序集之前返回 Metro 的预期值。如果它确实有效,您只需使用包含所有标准控件样式的 XAML 字典创建一个程序集。

于 2012-07-17T23:10:56.323 回答