gpt4 book ai didi

c# - 如何将字符串的 observableCollection 绑定(bind)到列表框

转载 作者:行者123 更新时间:2023-12-03 17:40:04 24 4
gpt4 key购买 nike

我有一个 observableCollection 实例,我想将它绑定(bind)到一个列表,并让用户能够直接更改此集合中的字符串。

目前实现如下:

class container
{
public OBservableCollection<string> data {get; set;}
public container() { data = new ... }
}
...
var instance = new container();
listBox.ItemsSource = instance.data;

对于 XAML:

<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding}" MinWidth="50"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

当我向该列表添加任何字符串时,会出现一个错误,“双向绑定(bind)需要 Path 或 XPath。”。我试过路径值为“。”因为我的目标是相同的源值,但绑定(bind)失败。

请指教,

最佳答案

WPF 绑定(bind)不能替换集合中的元素。

您必须创建一个具有字符串属性的数据项类

class Item
{
public string Text { get; set; }
}

class Container
{
public ObservableCollection<Item> Data { get; set; }
}

可以双向绑定(bind):

<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding Text}" MinWidth="50"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

关于c# - 如何将字符串的 observableCollection 绑定(bind)到列表框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29540153/

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