我已经阅读了WPF数据绑定概述,并且我感觉这样应该是可能的,但我不能在这里进行精神上的飞跃。我知道如果我将绑定Path
设置为foo
,并将Source
设置为obj
,那么绑定将会显示obj.foo
。换句话说,将访问obj.__getattr__()
。
我想要的只是让它看一下obj[foo]
。我正在使用Ironpython,在这种情况下,我的obj
类有一个被覆盖的__getitem__()
调用成员函数并返回一个值,这就是我需要这个功能的原因。
以上是以编程方式编写的上述示例。这会在复选框中显示foo
的{{1}}属性:
obj
myBinding = Binding("foo")
myBinding.Source = obj
acheckbox.SetBinding(CheckBox.IsCheckedProperty, myBinding)
答案 0 :(得分:1)
您可以在绑定中使用它,例如如果我的DataContext
/来源有财产
public string this[int i]
{
get{...}
set{...}
}
你可以像这样创建一个绑定:
<TextBlock Text="{Binding [0]}"/>
编辑:我觉得我可能误解了你的问题,如果是的话请告诉我。