.net - 如何根据 WPF 中的 bool 属性设置背景颜色

标签 .net wpf data-binding c#-3.0 styles

我想为 GridViewColumn 设置背景颜色,它是 WPF 中 ListView 内部的数据绑定(bind)。我不知道如何问这个对 WPF 来说相当新的问题,否则我不会打扰你们所有人。

我想根据我的数据绑定(bind)对象中的 bool 标志更改整行的背景颜色。

在这种情况下,我有一个“CaseDetail”对象,当有内部注释“IsInternalNote”时,我希望行的颜色发生变化。

如何在 WPF 中实现这一点?

我现在拥有的(非常简单),不会改变颜色。

<ListView ItemsSource="{Binding}" IsSynchronizedWithCurrentItem="True"  >
            <ListView.View>
                <GridView>
                    <GridViewColumn DisplayMemberBinding="{Binding Date, StringFormat=MMM dd\, yyyy h:mm tt}" Header="Date" Width="Auto" />
                    <GridViewColumn DisplayMemberBinding="{Binding SubmittedBy}" Header="Submitted By" Width="Auto" />
                    <GridViewColumn Width="Auto" Header="Description" x:Name="colDesc">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>                              
                                <ScrollViewer MaxHeight="80" Width="300">
                                    <StackPanel Orientation="Vertical">
                                        <TextBlock Text="{Binding Description}"  TextWrapping="Wrap"   />
                                        <TextBlock Text="{Binding File.FileName}" TextWrapping="Wrap"  />
                                    </StackPanel>
                                </ScrollViewer>                             
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>                    
                </GridView>
            </ListView.View>
        </ListView>

最佳答案

我在尝试这样做时遇到了一些麻烦,结果是这样

<ListBox ...>
  <ListBox.ItemTemplate>
    <DataTemplate>
      <Border x:Name="BGBorder">
         <!-- --> 
      </Border>
      <DataTemplate.Triggers>
        <DataTrigger 
          Binding="{Binding Path=DataContext.IsAborted, RelativeSource={RelativeSource TemplatedParent}}" 
          Value="True">
          <Setter Property="Background" TargetName="BGBorder" Value="Red">
          </Setter>
        </DataTrigger>
      </DataTemplate.Triggers>
    </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>

可能有其他选择,但是一旦我让它工作,我就停止寻找:)

关于.net - 如何根据 WPF 中的 bool 属性设置背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/345198/

相关文章:

c# - 当 SelectedItem 是 ContentControl 时,为什么此 ComboBox 会忽略 DataTemplate?

wpf - 如何将枚举添加到 WPF 上下文菜单

data-binding - 在下拉更改 Knockout Js 上更改可观察值

c# - 在设计时设置 ComboBox 的 Text 和 Value 属性

c# - 如何在具有不同返回类型的 Linq 表达式之间进行转换?

c# - Npgsql 奇怪的异常

c# - 在 C# 中取消转义转义的 url

wpf - 如何围绕 3D 轴 (Y) 旋转 2D UIElement?

WPF;单击一次;双击文件启动;对比2008年

silverlight - Windows Phone 7 silverlight 用户控制 : data binding not working on custom property