小编sta*_*kuz的帖子

WPF更新绑定到数组中的元素

我搜索了我的小心脏,完全有可能我错过了一些关键而且显而易见的东西.

我有一个BitArray和一系列绑定到数组中元素的复选框,如下所示:

<CheckBox IsChecked="{Binding Permissions[0]}" />
<CheckBox IsChecked="{Binding Permissions[1]}" />
...
<CheckBox IsChecked="{Binding Permissions[5]}" />
Run Code Online (Sandbox Code Playgroud)

他们正确地从该属性获取其值,但更改复选框似乎不会触发该属性的setter.

我尝试了一个非常简单的例子,其中一个TextBox绑定到一个字符串数组的元素.

class TestArray
{
    private string[] _nameArray = new string[3];

    public TestArray()
    {
        _nameArray[1] = "test name";
    }

    public string[] NameArray
    {
        get { return _nameArray; }
        set { _nameArray = value; }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是UI元素:

<TextBox Text="{Binding NameArray[1], UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
Run Code Online (Sandbox Code Playgroud)

同样,这个TextBox从绑定中获取名称就好了,但是如果我改变它就不会击中setter.

这可能完全是一个傻瓜问题,可能源于严重缺乏理解,所以感谢您的耐心等待!

c# wpf binding

7
推荐指数
1
解决办法
5988
查看次数

标签 统计

binding ×1

c# ×1

wpf ×1