Perché il seguente codice di ottenere l'errore di runtime:Come posso ottenere un trigger per modificare il colore di un TextBlock basato su una proprietà DataContext?
Members of the Triggers collection must be of type EventTrigger
Ma l'elemento EventTrigger non avere una proprietà Binding.
Quindi, come posso modificare il colore di TextBlock in base alla proprietà DataContext?
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>
Codice:
namespace TestTriggers
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
DataContext = this;
Status = "off";
}
public string Status { get; set; }
}
}