【问题标题】:New wpf themes for specific visual styles特定视觉风格的新 wpf 主题
【发布时间】:2012-07-17 22:37:51
【问题描述】:

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

例如,PresentationFramework.Aero 自动用于 aero,PresentationFramework.Luna 自动用于 XP luna 主题,所以我想知道我是否可以制作一个新组件,例如 PresentationFramework.Metro 用于称为 @987654324 的视觉样式@。

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

【问题讨论】:

    标签: wpf styles microsoft-metro themes


    【解决方案1】:

    理论上,它应该可以工作......

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

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

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

    【讨论】:

    • 好的。那我该怎么做呢?因为我不太清楚这一切是如何运作的。
    • @AlexanderKvenvolden,这里有一个如何使用 GetCurrentThemeName API 的示例:gist.github.com/3653097(只需调用 ThemeInfo.Current 即可获取有关当前主题的信息)。而且我刚刚检查过,它似乎也适用于非默认样式(例如 Zune 主题)
    猜你喜欢
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-04
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    • 2013-09-02
    相关资源
    最近更新 更多