使用Extended WPF Toolkit中的PropertyGrid。我想为一个字段选择一个内置的编辑器。
我知道我可以通过这种方式从模型中获取它:
[Editor(typeof(TextBoxEditor), typeof(TextBoxEditor))]
public string LastName { get; set; }
但是我想从XAML那里得到它,就像这样(当然它无效):
<xctk:PropertyGrid.PropertyDefinitions>
<xctk:PropertyDefinition TargetProperties="PetNames" Editor="TextBoxEditor" />
</xctk:PropertyGrid.PropertyDefinitions>
有没有办法在非默认编辑器中显示属性而不更改我的模型?
谢谢
答案 0 :(得分:2)
如前所述,在documentation中,您可以通过设置EditingTemplate
来创建使用DataTemplates的自定义编辑器,如下所示:
<xctk:PropertyGrid.EditorDefinitions>
<xctk:EditorTemplateDefinition TargetProperties="PetNames">
<xctk:EditorTemplateDefinition.EditingTemplate>
<DataTemplate>
<!-- put whatever control you would like here (including your own custom one) -->
<TextBox Text="{Binding Value}" />
</DataTemplate>
</xctk:EditorTemplateDefinition.EditingTemplate>
</xctk:EditorTemplateDefinition>
</xctk:PropertyGrid.EditorDefinitions>