Wie überschreiben ich ToString () für ein Wörterbuch
-
19-09-2019 - |
Frage
Ich habe eine Dictionary<string, FieldDefinition>
Abhängigkeitseigenschaft, dass, wenn ich es in ein WPF-Listenfeld binde Ich will es die Zeichenfolge nur drucken (nicht die Fielddefinition).
Gibt es eine Möglichkeit, das zu tun?
Lösung
könnte ich falsch sein, hier, aber ich glaube, Sie für die Keys
Eigenschaft auf dem Wörterbuch suchen; dies wird eine Sammlung von TKey
Werten zurück (in Ihrem Fall des ‚string‘ Teil Ihres Wörterbuch, nicht das Fielddefinition Teil, der übrigens über die Values
Property zur Verfügung stehen würde)
<ListBox ItemsSource="{Binding MyDictionary.Keys}" />
Andere Tipps
würde ich eine Klasse erstellen, die entweder implementiert IDictionary
public class CustomDictionary : IDictionary
{
...
}
oder erbt Dictionary
public class CustomDictionary : Dictionary<string, FieldDefinition>
{
...
}
und überschreiben die ToString
Methode in dieser Klasse wie folgt aus:
public override string ToString()
{
return "My custom string";
}
Leiten Sie eine Klasse von Wörterbuch, außer Kraft setzen ToString ().