2017-04-19 92 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")])。

我覺得你運氣不好。