以编程方式添加样式触发器。

9

请问如何通过编程添加以下样式:

<style>
 <style.Triggers>
     <Trigger Binding="{Binding CustomerId}" Value ="1"/>
     <setter Property="Background" Value="Red"/>
 </style.Triggers>
</style>

@Kishore - 代码已经存在,但格式不正确。 - ChrisF
有人能否将其编辑为有效的代码 - setter 应该是 Setter,并且应该在 Trigger 标签内。 - Kieren Johnstone
@ronald-yoh:将这个问题复制到谷歌中搜索,第一个链接就是你想要的。 - Amsakanna
这是无效的XAML。触发器没有绑定,Setter应该是触发器的子元素。 - Andrey
1
@Andrey:这应该是一个DataTrigger。 - Amsakanna
1个回答

21

你的 XAML 有误,但我猜你想看到这个:

Style st = new Style();

DataTrigger tg = new DataTrigger()
{
    Binding = new Binding("CustomerId"),
    Value = 1
};

tg.Setters.Add(new Setter()
{
    Property = Control.BackgroundProperty,
    Value = ColorConverter.ConvertFromString("Red")
});

st.Triggers.Add(tg);  

6
最好使用 Value=Brushes.Red。谢谢回答! - Nerielle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接