2

如果我有

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 中的“属性”“查理”?

不是这些:

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

1 回答 1

1

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

<TextBlock Text="{Binding [Charlie]}"/>
于 2013-09-07T07:00:06.417 回答