将静态数据绑定为字典键
如何将字典静态数据绑定为字典键?
我的XAML代码:
字典键的静态数据类:
public static class DataNames { public static string SomeDataName { get; } = "some_data_name"; ... }
如何将DataNames.SomeDataName
绑定为XAML代码中我的字典的键?
UPDATE
我使用字典转换器,然后将其绑定为StaticResource
xmlns:converters="clr-namespace:AppName.Converters" ... ... Text="{Binding Path=DataStructure, Converter={StaticResource SomeConverter}, ConverterParameter={x:Static data:DataNames.SomeDataName}}"
感谢mm8帮助解决方案。 他的回答包含字典转换器的代码。
我担心XAML不支持这种“动态”绑定路径。
你可以使用转换器,例如:
public class DictConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { IDictionary dict = value as IDictionary; string key = parameter as string; string s; if (dict != null && !string.IsNullOrEmpty(key) && dict.TryGetValue(key, out s)) return s; return null; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotSupportedException(); } }
您可以使用静态标记扩展: