首页 > 解决方案 > 样式资源取决于字符串变量

问题描述

我需要 itemcontrol 中项目的样式取决于项目的字符串变量。因此,如果字符串为“A”,则该项目应具有样式 1 如果其“B”应具有样式 2,依此类推。

我一直在环顾四周,但找不到直接的方法,所以我目前没有代码可以显示。我想也许我不知道我应该搜索的概念的名称。

所以问题是:在 WPF 中是否有直接的典型方式来执行此操作?

标签: .netwpf

解决方案


DataTriggers 应该这样做。不是 ItemsControl,但应该是类似的

更新:带有 DataTriggers 的 ItemsControl

<ListBox ....> 
    <ListBox.ItemContainerStyle> 
        <Style TargetType="{x:Type ListBoxItem}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=Gender}" Value="Male">
                    <Setter Property="Background" Value="Red" />
                </DataTrigger>
                <DataTrigger Binding="{Binding Path=Gender}" Value="Female">
                    <Setter Property="Background" Value="Green" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </ListBox.ItemContainerStyle> 
</ListBox>

推荐阅读