gpt4 book ai didi

c# - WPF 更新绑定(bind)到数组中的元素

转载 作者:太空狗 更新时间:2023-10-29 20:11:23 26 4
gpt4 key购买 nike

我用我的小心脏搜索了一下,我完全有可能遗漏了一些关键和明显的东西。

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

<CheckBox IsChecked="{Binding Permissions[0]}" />
<CheckBox IsChecked="{Binding Permissions[1]}" />
...
<CheckBox IsChecked="{Binding Permissions[5]}" />

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

我尝试了一个非常简单的示例,其中将单个 TextBox 绑定(bind)到字符串数组的一个元素。

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 从绑定(bind)中获取名称很好,但如果我更改它,则不会命中 setter。

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

最佳答案

我以前从未尝试过这种方法,但我认为这行不通。因为您正在等待看到 setter fire 的属性不是绑定(bind)的属性。 NameArray 与 NameArray[i] 不同。

我建议查看 ObservableCollection 和模板以实现多个复选框。例如,您可以创建一个绑定(bind)到 ObservableCollection 的复选框的水平列表框。

关于c# - WPF 更新绑定(bind)到数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7180515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com