2010-01-07 111 views
2

我有一個Dictionary<string, FieldDefinition>依賴項屬性,當我將它綁定到WPF列表框時,我希望它只打印字符串(而不是FieldDefinition)。如何覆蓋字典的ToString()

有沒有辦法做到這一點?

回答

3

我可以這裏錯了,但我認爲你正在尋找Keys字典上的屬性;這將返回TKey值的集合(在你的情況,你的字典裏,沒有FieldDefinition部分,順帶將通過Values物業提供的「字符串」部分)

<ListBox ItemsSource="{Binding MyDictionary.Keys}" /> 
2

從Dictionary中派生一個類,覆蓋ToString()。

6

我將創建一個類,要麼實現IDictionary的

public class CustomDictionary : IDictionary 
{ 
... 
} 

或繼承字典

public class CustomDictionary : Dictionary<string, FieldDefinition> 
{ 
... 
} 

,並在這個類像這樣覆蓋ToString方法:

public override string ToString() 
    { 
    return "My custom string"; 
    } 
+1

這確實是正確的方法覆蓋ToString,但不完全是OP所要求的。 IanR在那裏是正確的。 – 2010-01-07 23:38:02

+0

好吧,這是問題的*標題*,但不是OP想要完成的實際事情...... – 2011-09-14 16:19:23