Как переопределить ToString() для словаря
-
19-09-2019 - |
Вопрос
у меня есть Dictionary<string, FieldDefinition>
Свойство зависимости, которое, когда я привязываю его к списку WPF, я хочу, чтобы оно просто печатало строку (а не FieldDefinition).
Есть ли способ сделать это?
Решение
Здесь я могу ошибаться, но мне кажется, что вы ищете Keys
свойство в словаре;это вернет коллекцию TKey
значения (в вашем случае это строковая часть вашего словаря, а не часть FieldDefinition, которая, кстати, будет доступна через Values
Свойство)
<ListBox ItemsSource="{Binding MyDictionary.Keys}" />
Другие советы
Я бы создал класс, который либо реализует IDictionary
public class CustomDictionary : IDictionary
{
...
}
или наследует словарь
public class CustomDictionary : Dictionary<string, FieldDefinition>
{
...
}
и переопределить ToString
метод в этом классе следующим образом:
public override string ToString()
{
return "My custom string";
}
Создайте класс из словаря, переопределите ToString().
Не связан с StackOverflow