2017-05-16 40 views
0

XCeed的PropertyGrid:HideInheritedProperties =「假」時,我結合這我的對象不顯示的基類的屬性缺少繼承屬性

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

有沒有別的東西,我需要添加看看呢? 這是對社會的加成 - 3.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 

**更新 - 我發現,當我檢查具有基礎性的覆蓋類,它可以防止所有的基類屬性的從顯示了物業網格。

展望這進一步了,但我沒有一個解決方案。

回答

-1

在我繼承覆蓋性能,僅設置或獲取在該屬性重寫提供。當我添加缺少的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; } 
} 
2

有沒有別的東西,我需要添加看看呢?

只要確保屬性是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> 

enter image description here

+0

我檢查類型是在樹上,並使用TreeView和HierarchicalDataTemplate與數據類型=顯示「{X:類型的ViewModels:ContainerViewModel}」。在我的方案中,我注意到只有在繼承類型沒有它自己的屬性時纔會顯示繼承的屬性。其中某處是原因。 ContainerViewModel是所有對象的基本類型。 – jchristof

+0

請提供您的問題進行全面回購:https://stackoverflow.com/help/mcve – mm8

+0

我會放在一起攝製 - 我發現在我的案件的問題時,繼承的財產被覆蓋沒有繼承屬性的顯示在網格中。 – jchristof