Xceed属性网格样式名称基于值

时间:2018-02-08 09:49:24

标签: c# wpf wpftoolkit propertygrid xceed

我想设置" Name2"的背景​​。灰色,因为值是" 2"。

我怎样才能做到这一点?

enter image description here

我尝试使用DataTrigger和转换器" PropertyItem"但我没有运气。

1 个答案:

答案 0 :(得分:1)

您可以为EditorTemplate属性定义Name2

<xctk:PropertyGrid ...>
    <xctk:PropertyGrid.EditorDefinitions>
        <xctk:EditorDefinition>
            <xctk:EditorDefinition.PropertiesDefinitions>
                <xctk:PropertyDefinition Name="Name2" />
            </xctk:EditorDefinition.PropertiesDefinitions>
            <xctk:EditorDefinition.EditorTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Value}">
                        <TextBlock.Style>
                            <Style TargetType="TextBlock">
                                <Style.Triggers>
                                    <DataTrigger Binding="{Binding Value}" Value="2">
                                        <Setter Property="Background" Value="Gray" />
                                    </DataTrigger>
                                </Style.Triggers>
                            </Style>
                        </TextBlock.Style>
                    </TextBlock>
                </DataTemplate>
            </xctk:EditorDefinition.EditorTemplate>
        </xctk:EditorDefinition>
    </xctk:PropertyGrid.EditorDefinitions>
</xctk:PropertyGrid>