我有这个集合
ObservableCollection<string> Urls { get; set; }
在我的数据上下文类中。我在列表框中绑定了它:
<ListBox ItemsSource="{Binding Urls}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBox Text="{Binding .}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
数据显示在列表框中,两个相应的 - 未显示 - 此处按钮以及命令“添加”和“删除”也可以工作,但是,更改TextBox
不会影响集合的内容。
我在绑定中尝试了Mode=TwoWay
,但我认为它已经打开了。我已经尝试了一些其他选项,如Validate = OnPropertyChange,但是,仍然没有任何更新。
如何使TextBox
中模板化项目中的ListBox
实际更新datacontext类的Urls
属性?
答案 0 :(得分:6)
你无法修改字符串;使用带有一个字符串属性的包装类,然后将TextBox
绑定到所述属性。这样,属性中的字符串可以用编辑过的字符串替换。