我有一个ListControl填充ObservableCollection
。我还在用户控件上添加了“添加新项目”TextBox
。当我在TextBox
中输入文本并点击“添加”时,该项目会通过适当的逻辑并添加到我的列表控件立即反映的ObservableCollection
。到现在为止还挺好。从TextBox向ObservableCollection添加新项目保持绑定状态?
然而,那TextBox
仍然填充我刚刚添加的项目...如果我尝试更改或退格TextBox
,我刚添加的项目也反映了更改!如何在添加新项目后清除TextBox
?我正在使用MVVM方法,所以我的TextBox
绑定到{Binding Path=Object.Name}
。
任何想法?
当你说克隆时,你到底是什么意思?我不能只说BackupObject = CurrentObject; BusinessClass.Save(BackupObject); CurrentObject = null; 原因是,看起来我的BackupObject只是指向CurrentObject指向的内存中相同的对象。我没有正确克隆对象吗? – Shafique 2009-09-15 21:32:20
不,您需要使用与原始数据相同的数据实际创建一个新对象。这通常通过实现ICloneable接口来完成。 因此,如果对象是一个变量名为theString的字符串,则需要将theString.Clone()添加到ObservableCollection中,这将创建一个全新的String对象。 – timothymcgrath 2009-09-17 00:21:35