Xceed Wpf PropertyGrid - 以编程方式重置SelectedItem

时间:2017-10-04 11:17:00

标签: c# wpf propertygrid xceed

当我加载我的应用时,Property Grid看起来像这样:

enter image description here

最初没有选择任何项目。选择项目后,它会正确显示每个属性。

问题是我需要重新加载我的项目列表,重置选择并将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();

0 个答案:

没有答案