我正在使用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>
是否需要额外设置?
答案 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>
在指定编辑器之前
指定编辑器后
此示例可能无法准确演示您要如何编辑集合,您可以根据需要调整模板