当我加载我的应用时,Property Grid看起来像这样:
最初没有选择任何项目。选择项目后,它会正确显示每个属性。
问题是我需要重新加载我的项目列表,重置选择并将Property Grid设置为初始状态。
问题:将SelectedObject设置为null后,属性网格不会返回其初始状态。
此外,每个酒店都有自己的编辑器。也许问题是我在Bindings中使用的Instancing?
Property Grid的示例代码:
<xctk:PropertyGrid x:Name="_propertyGrid" SelectedObject="{Binding SelectedItem.MyObject}" AutoGenerateProperties="False">
<xctk:PropertyGrid.EditorDefinitions>
<xctk:EditorTemplateDefinition TargetProperties="SampleProperty">
<xctk:EditorTemplateDefinition.EditingTemplate>
<DataTemplate>
<TextBlock Text="{Binding Instance.SampleProperty, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</xctk:EditorTemplateDefinition.EditingTemplate>
</xctk:EditorTemplateDefinition>
</xctk:PropertyGrid.EditorDefinitions>
<xctk:PropertyGrid.PropertyDefinitions>
<xctk:PropertyDefinition TargetProperties="SampleProperty"/>
</xctk:PropertyGrid.PropertyDefinitions>
</xctk:PropertyGrid>
我尝试重置Property Grid的方式:
_propertyGrid.SelectedObject = null;
if (SelectedItem != null)
SelectedItem.MyObject = null;
SelectedItem = null;
_propertyGrid.Update();