2017-04-19 93 views
-2

我正在构建用户控件。以下是其中一个属性的示例。我希望此属性位于一对嵌套的类别中。C++/CLI Winforms用户控件属性,嵌套类别属性

public: 
    [Description("Text to display as Rick's Age"), Category("Tiny Rick")] 
    property String^ Rick_Age 
    { 
     String^ get() 
     { 
      return RicksAge_Label->Text; 
     } 
     void set(String^ newText) 
     { 
      RicksAge_Label->Text = newText; 
     } 
    } 

对于这个例子,Variable_Text属性位于Tiny Rick类别。我如何才能使Tiny Rick类别出现在另一类别中?

我想要某种多层次的属性组织。例如:

  • 类别:Special Properties
    • 类别:Tiny Rick
      • 物业:Rick_Age
    • 类别:Morty
      • 地产:Morty_Age
      • 物业:Morty_Size
  • 类别:Other Properties
    • 类别:Jerry
      • 物业:Jerry_Age
      • 物业:Jerry_Employed
    • 类别:Courier Flaps
      • 性质:Item_to_Ship

EDIT-1: 这里是嵌套属性的一个例子。它是新放置的按钮控件(不是自定义用户控件)的属性面板。我知道这并不能证明在用户控件中应用类似功能的能力。这只是我想要完成的一个很好的例证。这些照片表示访问X财产的进展:

collapsed

Open1

Open2

Open3

EDIT 2: 考虑什么都可以与用户控制来完成,定制设计时间属性(请参阅this project),我很喜欢相信我的目标是可以获得的。这张照片是从以前的链接: enter image description here

+1

我不确定控件属性是否支持嵌套类别的概念。在问“我该怎么做?”之前,你确定这有可能吗?你有没有用其他控制,用户或其他方式完成的例子? –

+1

除非你在做Win32/MFC互操作,否则你不应该使用C++/CLI进行GUI开发; C#可能是更好的选择。 –

+0

@DavidYaw伟大的问题。我已更新我的问题以反映我的回应。 –

回答

1

我不认为这是可能的。

通过.Net Reference Source在其中CategoryAttribute类实例化所有的地方寻找(换句话说,任何时候都Category作为一个属性上的某些属性(向下滚动到“的CategoryAttribute 422个实例”在左侧窗格中)) :

  • 有没有多的对单个属性Category属性(这是不允许的CategoryAttribute反正)实例。
  • 在其分类文本中没有分层结构的分类(例如,没有[Category("Special Properties\\Morty")])。

我觉得你运气不好。