Comment remplacer ToString () pour un dictionnaire
-
19-09-2019 - |
Question
J'ai une propriété de dépendance Dictionary<string, FieldDefinition>
que quand je lie à une zone de liste WPF Je veux imprimer simplement la chaîne (pas le FieldDefinition).
Est-il possible de le faire?
La solution
Je peux me tromper, ici, mais je pense que vous êtes à la recherche de la propriété Keys
sur le dictionnaire; cela renvoie une collection de valeurs de TKey
(dans votre cas, la partie « chaîne » de votre dictionnaire, pas la partie FieldDefinition, qui d'ailleurs disponible via la propriété Values
)
<ListBox ItemsSource="{Binding MyDictionary.Keys}" />
Autres conseils
Je voudrais créer une classe qui soit implémente IDictionary
public class CustomDictionary : IDictionary
{
...
}
ou Dictionnaire hérite
public class CustomDictionary : Dictionary<string, FieldDefinition>
{
...
}
et remplacer la méthode ToString
dans cette classe comme ceci:
public override string ToString()
{
return "My custom string";
}
Dériver une classe de dictionnaire, remplacer ToString ().