/ / XCeed Propertygrid: HideInheritedProperties = "गलत" विरासत गुण प्रदर्शित नहीं करता है - wpf, propertygrid, xceed

XCeed Propertygrid: HideInheritedProperties = "गलत" विरासत गुण प्रदर्शित नहीं करता है - wpf, propertygrid, xceed

जब मैं इसे अपने ऑब्जेक्ट से बांधता हूं तो बेस क्लास गुण गायब होते हैं:

<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

** अपडेट - मैंने पाया कि जब मैं मूल गुणों के ओवरराइड वाले वर्ग का निरीक्षण करता हूं, तो यह सभी बेस क्लास गुणों को संपत्ति ग्रिड में दिखने से रोकता है।

इसे और आगे देख रहे हैं, लेकिन मेरे पास कोई समाधान नहीं है।

उत्तर:

जवाब के लिए 2 № 1

क्या उन्हें देखने के लिए कुछ और जोड़ने की ज़रूरत है?

बस सुनिश्चित करें कि गुण हैं 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>

यहां छवि विवरण दर्ज करें


उत्तर № 2 के लिए -1

मेरे वंचित ओवरराइड गुणों में, संपत्ति सेट में केवल सेट या प्राप्त किया गया था। जब मैंने लापता गेटटर या सेटर को ओवरराइड संपत्ति में जोड़ा तो यह समस्या को हल करता है:

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; }
}