如何在运行时动态更改listview项样式?

时间:2011-04-06 13:15:52

标签: c# wpf visual-studio-2010

我正在使用VS2010 - wpf - C#

我有一个列表视图,显示证券价格,我想以三种不同的方式设置列表视图行的样式: 绿色 - 红色 - 和橙色

我不知道如何编写一个C#代码,在运行时在某些条件下会影响这些listview项的样式???

我不知道我的问题是否需要更多解释,但如果确实如此,请告诉我

最重要的是每个人

1 个答案:

答案 0 :(得分:1)

为什么要在运行时而不是在XAML中执行此操作?

我假设红/绿/橙有某种意义。在Listbox的ItemContainerStyle上设置DataTrigger,它根据值修改颜色。

以下是在ListView项目上使用名为Priority的属性的示例

<ListView>
    <ListView.ItemContainerStyle>
        <Style TargetType="{x:Type ListBoxItem}">
            <Setter Property="Foreground" Value="Green" />
            <Style.Triggers>
                <DataTrigger Binding="{Binding Priority}" Value="2">
                    <Setter Property="Foreground" Value="Orange" />
                </DataTrigger>
                <DataTrigger Binding="{Binding Priority}" Value="3">
                    <Setter Property="Foreground" Value="Red" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </ListView.ItemContainerStyle>
</ListView>