问题描述
我搜索我的小心脏了其完全有可能我想的东西关键和明显的。
我有一个BitArray和一系列绑定到元素的数组中,像这样的复选框:
<复选框器isChecked ={结合权限[0]}/>
<复选框器isChecked ={结合权限[1]}/>
...
<复选框器isChecked ={结合权限[5]}/>
他们正确地获得该属性的值,但是改变的复选框似乎并没有引起该属性的setter。
我试图绑定到字符串数组的元素一个文本框一个很简单的例子。
类TestArray
{
私人的String [] = _nameArray新的字符串[3]; 公共TestArray()
{
_nameArray [1] =测试名称;
} 公共字符串[] NameArray
{
{返回_nameArray; }
集合{_nameArray =价值; }
}
}
这里的UI元素:
<文本框的文本={结合NameArray [1],UpdateSourceTrigger = PropertyChanged的,模式=双向}/>
同样,这个文本框从绑定就好得到的名字,但如果我改变它不打二传手。
这可能完全是一个笨蛋问题,可能严重缺乏了解,以便感谢您的耐心干!
It doesn't need to call the setter: the binding doesn't replace the array, it simply replaces an element of the array. If you check the values in the array, you will see that they reflect the changes.
It also works fine with a BitArray
(I just tried with both an array and a BitArray
).
However, arrays (and BitArray) don't implement INotifyPropertyChanged
or INotifyCollectionChanged
, so if there are other bindings to the values in the array, they won't be refreshed automatically. You will need a wrapper that implements these interfaces (ObservableCollection<T>
for instance)
这篇关于WPF更新数组中的结合元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!