C# WPF -仅更改一个ListViewItem的背景[已关闭]

jw5wzhpr  于 2022-12-14  发布在  C#
关注(0)|答案(1)|浏览(150)

已关闭。此问题需要更多focused。当前不接受答案。
**想要改进此问题吗?**更新问题,使其仅关注editing this post的一个问题。

5天前关闭。
Improve this question
我正在将ListView的项目源绑定到ViewModel中的ObservableCollection。因此,当我单击按钮时,我只想更改一个ListViewItem的背景颜色(而不选择它),这样其他项目将保持它们的颜色。我搜索并测试了不同的东西,但我没有找到解决方案。
可能吗?谢谢你的努力。

dgsult0t

dgsult0t1#

您可以将ItemContainerStyleDataTrigger一起使用,DataTrigger绑定到ObservableCollection中某个对象的某个属性,ObservableCollection决定是否为视图中的项着色,例如:

<ListView ItemsSource="{Binding SourceCollection}">
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Style.Triggers>
                <DataTrigger Binding="{Binding YourProperty}" Value="Some Value">
                    <Setter Property="Background" Value="Red" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </ListView.ItemContainerStyle>
</ListView>

查看型号:

public ObservableCollection<SomeType> SourceCollection { get; }
    = new ObservableCollection<SomeType>
    {
        new SomeType() { YourProperty = "Some Value" },
        new SomeType() { YourProperty = "Some Other Value" }
    };

相关问题