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

时间:2009-08-05 07:33:50

标签: wpf xaml themes

我有一个自定义控件需要在使用Aero主题的XP或Vista上运行时进行微调,是否有一种简单的方法来检测主题(操作系统检测不够,因为用户可以更改主题)和在样式触发器中使用它?

我需要在Vista上应用一小部分更改以获得所需的外观:

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

上述setter目前是无条件的(例如不在Trigger中),但要求我有两个版本。

理想情况下,解决方案应仅为Xaml,但如有必要,我可以公开要与DataTrigger关联的属性。

1 个答案:

答案 0 :(得分:1)

你可以写一个ValueConverter来获取保证金设置,并在其转换方法中进行平台/主题检查。