【发布时间】:2011-11-03 01:50:34
【问题描述】:
我已经摸清了自己的小心脏,完全有可能我遗漏了一些重要而明显的东西。
我有一个 BitArray 和一系列绑定到数组中元素的复选框,如下所示:
<CheckBox IsChecked="{Binding Permissions[0]}" />
<CheckBox IsChecked="{Binding Permissions[1]}" />
...
<CheckBox IsChecked="{Binding Permissions[5]}" />
他们正确地从该属性获取值,但更改复选框似乎不会触发该属性的设置器。
我尝试了一个非常简单的示例,其中将单个 TextBox 绑定到字符串数组的元素。
class TestArray
{
private string[] _nameArray = new string[3];
public TestArray()
{
_nameArray[1] = "test name";
}
public string[] NameArray
{
get { return _nameArray; }
set { _nameArray = value; }
}
}
这是 UI 元素:
<TextBox Text="{Binding NameArray[1], UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
同样,这个 TextBox 从绑定中获取名称就好了,但如果我更改它,它不会命中 setter。
这完全可能是一个愚蠢的问题,并且可能源于严重缺乏理解,所以感谢您的耐心等待!
【问题讨论】: