扩展的WPF工具包未在集合编辑器中显示字符串集合

时间:2014-08-13 22:46:45

标签: c# wpf

我正在使用Extended WPF Toolkit作为其属性编辑器。 http://wpftoolkit.codeplex.com/wikipage?title=PropertyGrid

我的设置文件中定义了一些StringCollection对象,这些对象显示为System.Collections.Specialized.StringCollection而不是CollectionEditor。

以下是我定义属性编辑器的方法:

<xctk:PropertyGrid x:Name="SettingsGrid" SelectedObject="{Binding Source={x:Static properties:Settings.Default}}" IsCategorized="False">
</xctk:PropertyGrid>

是否需要额外设置?

1 个答案:

答案 0 :(得分:1)

以下是在System.Collections.Specialized.StringCollection

中为PropertyGrid指定自定义编辑器的示例
<xctk:PropertyGrid x:Name="SettingsGrid"
                   SelectedObject="{Binding Source={x:Static properties:Settings.Default}}"
                   IsCategorized="False"
                   xmlns:sp="clr-namespace:System.Collections.Specialized;assembly=System">
    <xctk:PropertyGrid.EditorDefinitions>
        <xctk:EditorTemplateDefinition TargetProperties="{x:Type sp:StringCollection}">
            <xctk:EditorTemplateDefinition.EditingTemplate>
                <DataTemplate>
                    <Expander Header="(StringCollection)">
                        <ListBox ItemsSource="{Binding Value}"
                                 HorizontalContentAlignment="Stretch">
                            <ListBox.ItemTemplate>
                                <DataTemplate>
                                    <TextBox Text="{Binding Path=.}" />
                                </DataTemplate>
                            </ListBox.ItemTemplate>
                        </ListBox>
                    </Expander>
                </DataTemplate>
            </xctk:EditorTemplateDefinition.EditingTemplate>
        </xctk:EditorTemplateDefinition>
    </xctk:PropertyGrid.EditorDefinitions>
</xctk:PropertyGrid>

在指定编辑器之前

before

指定编辑器后

after

此示例可能无法准确演示您要如何编辑集合,您可以根据需要调整模板