我想知道是否可以为不同的视觉样式添加默认的 wpf 主题(我可以使用第 3 方视觉样式,因为我的系统已修补)。
例如,PresentationFramework.Aero
自动用于 aero,PresentationFramework.Luna
自动用于 XP luna 主题,所以我想知道我是否可以制作一个新组件,例如PresentationFramework.Metro
用于名为Metro.msstyles
.
这行得通吗?我该怎么做呢?谢谢。
我想知道是否可以为不同的视觉样式添加默认的 wpf 主题(我可以使用第 3 方视觉样式,因为我的系统已修补)。
例如,PresentationFramework.Aero
自动用于 aero,PresentationFramework.Luna
自动用于 XP luna 主题,所以我想知道我是否可以制作一个新组件,例如PresentationFramework.Metro
用于名为Metro.msstyles
.
这行得通吗?我该怎么做呢?谢谢。
从理论上讲,它应该工作...
我认为主题程序集是根据GetCurrentThemeName返回的主题信息选择的。例如,对于具有正常颜色的 Aero,它返回:
pszThemeFileName = "Aero"
pszColorBuff = "NormalColor"
pszSizeBuff = "NormalSize"
但是我不确定此函数是否适用于所有主题(IIRC,它不适用于 Windows XP 中的 Zune 主题),因此请确保它在开始创建主题程序集之前返回 Metro 的预期值。如果它确实有效,您只需使用包含所有标准控件样式的 XAML 字典创建一个程序集。