gpt4 book ai didi

c# - 为 ListView 中的项目着色

转载 作者:行者123 更新时间:2023-11-30 15:36:03 26 4
gpt4 key购买 nike

好的,因为我是 WPF 的新手,我可能会问一个简单的问题,但我已经搜索了过去 5 个小时的解决方案,但一无所获。
我有一个包含 bool 值的类,指示 ListView 行是否应该着色。
我绑定(bind)了其余列的值,但由于没有颜色列,我一直在想办法解决这个问题。

我试过Styles,试过DataTemplates(我花了一些时间才明白把它们放在哪里,但我想通了)和一些选项我不知道如何调用的 C# 代码中的函数。

我知道我可能没有提供足够的信息或任何代码,但请让我知道您需要什么帮助我,我会发布它,对此我很抱歉,但我还是新手所以我什至不知道你需要什么。

这是我正在使用的类:

        public class ReportRow
{
public string ProductID { get; set; }
public int SideA { get; set; }
public int SideB { get; set; }
public string Workers { get; set; }

public bool Equality { get; set; }
}

ListView 中显示的所有内容,除了应指示该行是否应着色的 bool 值。

更新

这是我正在使用的 ListView:

            <ListView Height="118" HorizontalAlignment="Right" Name="ReportView" VerticalAlignment="Top" Width="390" HorizontalContentAlignment="Right" Grid.Row="1" ItemsSource="{Binding ReportRows}" >
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Header="Product" Width="60" DisplayMemberBinding="{Binding ProductID}" />
<GridViewColumn Header="SideA" Width="60" DisplayMemberBinding="{Binding SideA}"/>
<GridViewColumn Header="SideB" Width="60" DisplayMemberBinding="{Binding SideB}"/>
<GridViewColumn Header="Workers" DisplayMemberBinding="{Binding Workers}"/>
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>

这是我目前拥有的。

最佳答案

您可以使用 ItemContainerStyle 属性为 ListViewItems 着色:

        <ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Equality}" Value="true">
<Setter Property="Background" Value="ColorWhenTrue"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=Equality}" Value="false">
<Setter Property="Background" Value="ColorWhenFalse"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>

关于c# - 为 ListView 中的项目着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14158658/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com