XCeed Propertygrid: HideInheritedProperties="False" 不显示继承属性

XCeed Propertygrid: HideInheritedProperties="False" does not display inherited properties

当我将它绑定到我的对象时,基础 class 属性丢失了:

<xctk:PropertyGrid x:Name="_propertyGrid"                           
  AutoGenerateProperties="True"                             
  HideInheritedProperties="False"
    SelectedObject="{Binding}" >
    </xctk:PropertyGrid>

我还需要添加其他内容才能看到它们吗? 这是在社区添加 - v3.0

**update - example more akin to the production code:

<TreeView Name="Containers">
<TreeView.ItemTemplate>

<HierarchicalDataTemplate DataType="{x:Type viewModels:ContainerViewModel}" ItemsSource="{Binding Children}">

<xctk:PropertyGrid
Width="250"
ShowTitle="False"
ShowSummary="False"
AutoGenerateProperties="True" 
HideInheritedProperties="False"
SelectedObject="{Binding}" 
SelectedObjectName=""
SelectedObjectTypeName="">

</xctk:PropertyGrid>


</HierarchicalDataTemplate>
</TreeView

**更新 - 我发现当我检查一个覆盖了基本属性的 class 时,它会阻止所有基本 class 属性出现在 属性 网格.

现在正在进一步调查,但我没有解决方案。

Is there something else I need to add to see them?

只需确保属性为 public。以下对我有用。

代码:

public class Base
{
    public int Test { get; set; }
}

public class Derived : Base
{
    public int Test2 { get; set; }
}

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        DataContext = this;
    }

    public Derived Derived { get; } = new Derived();
}

XAML:

<xctk:PropertyGrid x:Name="_propertyGrid"                           
                   AutoGenerateProperties="True"                             
                   HideInheritedProperties="False"
                   SelectedObject="{Binding Derived}" >
</xctk:PropertyGrid>

在我继承的重写属性中,属性 重写中只提供了 set 或 get。当我将缺少的 getter 或 setter 添加到覆盖的 属性 时,它解决了问题:

public override double Height {
    get {
    //this get is necessary for the design
    }

    //adding set is necessary for Height to be visible
    set { base.Height = value; }
}