从TextBox向ObservableCollection添加新项目是否保持绑定?

时间:2009-09-11 23:24:28

标签: wpf data-binding mvvm observablecollection

我有一个填充了ObservableCollection的ListControl。我也在usercontrol上添加了“添加新项”TextBox。当我在TextBox中输入文本并单击“添加”时,该项目将通过相应的逻辑并添加到我的ObservableCollection,我的ListControl会立即反映出来。到目前为止,非常好。

但是。 TextBox仍然填充了我刚刚添加的项目...如果我尝试更改或退格TextBox,我刚刚添加的项目也反映了这一变化!如何在添加新项目后清除TextBox?我正在使用MVVM方法,因此我的TextBox绑定到{Binding Path=Object.Name}

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

没有足够的细节来提供正确的答案,但我会试一试。在将上一个添加到ObservableCollection之后,您似乎需要创建一个新的“Object”(如在Path = Object.Name中)。这意味着TextBox将绑定到新对象而不是旧对象,您将能够重复此过程。

答案 1 :(得分:0)

当按下Add按钮时,我将克隆TextBox绑定中的对象并将克隆添加到ObservableCollection。

然后你可以将对象绑定到TextBox并编辑它而不会弄乱添加的那个,或者你可以通过将对象设置为null来清除TextBox。