使用XAML中的[“string”]语法进行数据绑定

时间:2013-09-07 06:51:56

标签: c# xaml data-binding winrt-xaml

如果我有

public class Foo : INotifyPropertyChanged{
    public object this[string name] {
        get {
            PremiseProperty prop;
            if (_properties.TryGetValue(name, out prop))
                return prop.Value;
            return null;
        }
        set {
            SetMember(name, value);
        }
    }
   ...
}

在代码中我可以做到

var f = new Foo();
f["Charlie"] = 42;
Debug.WriteLine(f["Charlie"]);

如何在XAML中访问“属性”“Charlie”?

不是这些:

<TextBlock Text="{Binding Path=[Charlie]}"/> // hangs designer
<TextBlock Text="{Binding Path=["Charlie"]}"/> // bad syntax
<TextBlock Text="{Binding Path=['Charlie']}"/> // bad syntax

1 个答案:

答案 0 :(得分:0)

设置DataContext后, 试试这个(更新):

<TextBlock Text="{Binding [Charlie]}"/>