相关疑难解决方法(0)

如何根据DataContext属性获取更改TextBlock颜色的触发器?

为什么以下代码会出现运行时错误:

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>
Run Code Online (Sandbox Code Playgroud)

码:

namespace TestTriggers
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();
            DataContext = this;
            Status = "off";
        }

        public string Status { get; set; }    
    }
}
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml triggers styles

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

c# ×1

styles ×1

triggers ×1

wpf ×1

xaml ×1