У меня есть ViewModel, которая работает в UWP, все привязки работают, кроме моего пользовательского словаря, и я не знаю почему. Ничего не появляется.
Я использую FodyWeavers, отсюда сокращенная запись. Пользовательский словарь возвращает ключ с *, если ключ не найден.
В ViewModel
public static TranslationDictionary Translations { get; set; }
В представлении
<TextBlock Text="{Binding Translations[Test_Translation]}" />
Пользовательский словарь
public class TranslationDictionary : Dictionary<string, string>
{
public new void Add(string key, string value)
{
if (value == null)
{
return;
}
base.Add(key, value);
}
public new void Remove(string key)
{
if (!ContainsKey(key))
{
return;
}
base.Remove(key);
}
public new string this[string key]
{
get
{
string value;
return TryGetValue(key, out value) ? value : key + "*";
}
set
{
if (value == null)
{
Remove(key);
}
else
{
base[key] = value;
}
}
}
}