代码之家  ›  专栏  ›  技术社区  ›  Ray Hayes

如何检测WPF的XAML中的当前主题?

  •  1
  • Ray Hayes  · 技术社区  · 15 年前

    我有一个自定义控件,当在带有Aero主题的xp或vista上运行时需要进行细微的调整,有没有一个简单的方法来检测主题(由于用户可以更改主题,操作系统检测不够)并在样式触发器中使用它?

    我需要在Vista上应用一个小的利润变化,以获得所需的外观:

            <Setter Property="Margin"
                    Value="0,-1,0,-1" />
    

    上面的setter当前是无条件的(例如不在触发器中),但需要我有两个版本。

    理想情况下,解决方案应仅为XAML,但如果必要,我可以公开一个属性以与 DataTrigger .

    1 回复  |  直到 13 年前
        1
  •  1
  •   Sean    15 年前

    你可以写一篇 ValueConverter 它接受边距设置,并执行平台/主题签入 转换 方法。