كيف أتجاوز Tostring () للقاموس
-
19-09-2019 - |
سؤال
انا املك Dictionary<string, FieldDefinition>
خاصية التبعية التي عندما أرتبطها إلى مربع قائمة WPF أريدها فقط طباعة السلسلة (وليس الحقل الدين).
هل هناك طريقة للقيام بذلك؟
المحلول
يمكن أن أكون مخطئا، هنا، لكنني أعتقد أنك تبحث عن Keys
الممتلكات في القاموس؛ هذا سوف يعيد مجموعة من TKey
القيم (في حالتك، الجزء "السلسلة" من قاموسك، وليس الجزء المتعلق للحقول، والذي سيكون بالمناسبة متاحا عبر Values
خاصية)
<ListBox ItemsSource="{Binding MyDictionary.Keys}" />
نصائح أخرى
أود إنشاء فئة إما تنفذ التبنية
public class CustomDictionary : IDictionary
{
...
}
أو الميراث قاموس
public class CustomDictionary : Dictionary<string, FieldDefinition>
{
...
}
وتجاوز ToString
الطريقة في هذه الفئة مثل هذا:
public override string ToString()
{
return "My custom string";
}
اشتقاق فئة من القاموس، تجاوز Tostring ().
لا تنتمي إلى StackOverflow