【问题标题】:how to show user class property at properties window in WPF如何在 WPF 的属性窗口中显示用户类属性
【发布时间】:2021-08-19 15:11:07
【问题描述】:

我正在尝试在属性窗口中显示用户类属性。

例如,这是类代码

    public class GraphConstruct
    {
        private List<GC_VisualData> visualDataGroup = new List<GC_VisualData>();
        [Browsable(true), Category("Option"), Description("graph option")]
        public List<GC_VisualData> VisualDataGroup { get { return visualDataGroup; } set { visualDataGroup = value; } }

    }

和 UserControl 包含此代码

public GraphConstruct CONS = new GraphConstruct();
[Browsable(true), Category("graph option"), Description("graph option")]
public GraphConstruct GRAPH_CONSTRUCT { get { return CONS; } set { CONS = value; } }

并且属性窗口像这样显示给我。

我想在字符串、枚举、int 等属性窗口中显示我的类属性。 有可能吗?如果可能的话,我从哪里开始这项工作? 请给我关键字。不知道怎么搜。

祝你有美好的一天

【问题讨论】:

  • 进入主菜单并选择:查看|类视图。或者按 Ctrl + W,然后按 C。现在您可以浏览解决方案的命名空间并选择您想要查看的类。选择班级后,窗口将显示所有班级成员。选择一个以在属性视图中查看更多详细信息。
  • BionicCode-您的意思是在主工具栏查看?我搜索那个菜单,但我找不到那个方法。我现在正在搜索.. 我在我的视觉工作室中安装类视图并找到你告诉我的菜单!
  • 如果我没记错的话,您必须为 GraphConstruct 类指定一个 EditorControl,请参阅 docs.microsoft.com/en-us/visualstudio/extensibility/…

标签: c# wpf


【解决方案1】:

我认为您只能显示 UserControl 本身的属性,当在设计器中选择项目时,它会显示在属性窗口中,而不是 UserControl 内的属性的属性。

https://docs.microsoft.com/en-us/dotnet/api/system.componentmodel.browsableattribute?view=net-5.0

编辑:依赖属性也显示在属性窗口中 - https://docs.microsoft.com/en-us/dotnet/desktop/wpf/advanced/dependency-properties-overview?view=netframeworkdesktop-4.8#property-functionality-provided-by-a-dependency-property

【讨论】:

  • 我不知道这是怎么做到的,但在我看来你错了。示例:properties Marrgin, Padding - 在属性浏览器中,每个嵌套属性都有一个单独的字段。
  • Margin 和 padding 都是 FrameworkElement 的依赖属性,所以这可能是另一种方法。
  • 文档 (docs.microsoft.com/en-us/visualstudio/extensibility/…) 没有说明依赖属性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-24
  • 1970-01-01
  • 1970-01-01
  • 2010-09-09
  • 1970-01-01
  • 2018-11-16
  • 1970-01-01
相关资源
最近更新 更多