由布尔值触发的DataTrigger

问题描述 投票:1回答:1

我想使用布尔值等于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>

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

c# wpf
1个回答
2
投票

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

private bool _red;
public bool Red {
    get { return _red; }
    set 
    {
        _red = value;
        OnPropertychanged();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.