2009-07-23 34 views
1

我在WinForms應用程序中使用PropertyGrid控件。窗口本身綁定到包含對象列表的類。雖然我更喜歡它,如果網格剛剛展開並讓用戶像樹視圖一樣修改這些項目,我會解決收集編輯器如果它將停止列出成員爲「Roswell.Windows.Command.Model 「(完全解析的類名稱)。.NET PropertyGrid集合編輯器和列表<T>

我已經將DisplayName屬性應用於包含屬性和類本身,但集合編輯器窗口本身似乎忽略它。

(FWIW,這是.NET 3.5中VStudio 2008年)

有什麼建議?我一直在Google搜索(並且是SO'd !!),直到我臉色發青。

回答

2

可以重寫ToString方法,以提供一個更好的值(C#示例)

class MyClass 
{ 
    public string SomeValue { get; set; } 

    public override string ToString() 
    { 
     return string.Format("SomeValue={0}", this.SomeValue); 
    } 
} 
+0

太棒了!任何想法如何讓事物在網格中顯示爲可擴展列表,而不是依賴集合編輯器? – 2009-07-23 18:27:49

+0

我不知道從頭開始實現一個數組,但你應該研究實現一個TypeConverter(由leppie建議)和一個UI類型編輯器。 – 2009-07-23 18:42:08

2

您可以覆蓋ToString()

  • 或 -

爲你的類實現一個TypeConvertor或財產。