由布尔值触发的DataTrigger

时间:2014-09-19 21:58:21

标签: c# wpf

我想使用布尔值等于true来更改前景setter属性。 我试过了:

public bool RED = false;

if (condition)
   {
    RED = true;
   }

并使用布尔值触发DataTrigger:

     <ListView.ItemContainerStyle>
     <Style TargetType="{x:Type ListViewItem}">
       <Setter Property="Height" Value="16" />
          <Style.Triggers>
            <DataTrigger  Binding="{Binding Path=RED}" Value="True">
               <Setter Property="Foreground" Value="Red" />
               </DataTrigger>
              </Style.Triggers>
            </Style>
         </ListView.ItemContainerStyle>

但没有运气。什么是最好/最简单的写作方式?

1 个答案:

答案 0 :(得分:2)

您需要创建一个属性。你拥有的是一个领域。此外,您需要实现INotifyPropertyChanged或使用能够通知WPF绑定的DependencyProperty或其他类型的属性。

private bool _red;
public bool Red {
    get { return _red; }
    set 
    {
        _red = value;
        OnPropertychanged();
    }
}