【发布时间】:2010-10-29 05:25:18
【问题描述】:
为什么下面的代码会出现运行时错误:
Triggers 集合的成员必须是 EventTrigger 类型
但 EventTrigger 元素没有 Binding 属性。
那么如何根据DataContext属性改变TextBlock的颜色呢?
XAML:
<Window x:Class="TestTrigger123345.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<StackPanel HorizontalAlignment="Left">
<TextBlock Text="{Binding Status}">
<TextBlock.Triggers>
<DataTrigger Binding="{Binding Status}" Value="off">
<Setter Property="TextBlock.Background" Value="Red"/>
</DataTrigger>
</TextBlock.Triggers>
</TextBlock>
</StackPanel>
</Window>
代码:
namespace TestTriggers
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
DataContext = this;
Status = "off";
}
public string Status { get; set; }
}
}
【问题讨论】:
标签: c# wpf xaml triggers styles