【发布时间】:2018-07-24 19:26:36
【问题描述】:
所以我的问题如下:
我正在将一个名为 Items 的对象传递给 MyClass 类的一个新实例 MyWindow。我是按价值传递,而不是按引用传递。然后我将 MyWindow 的某些控件(文本框、组合框等)绑定到名为 ItemsReplicate 的新字段的属性中MyClass 中的 strong> 属于 MyWindow 并且等于 Items em>。但是,当我对 MyWindow 中的任何控件进行更改时,Items 的属性也会由于某种原因被覆盖.这是正常的吗?还是我错过了什么?
代码说明如下:
var passThis = (MyClass)myItem;
MyWindow wnd = new MyWindow(passThis);
public partial class MyWindow : Window
{
public MyWindow (MyClass _item)
{
InitializeComponent();
innerItem = _item;
this.DataContext = innerItem ;
}
private MyClass innerItem;
}
因此,在此过程结束时,通过绑定所做的任何更改都会影响 myItem 和 innerItem
非常感谢。
PS:绑定方式:双向
【问题讨论】:
-
将您的代码添加到问题中。
-
抱歉,我这样做了。请再次检查。
-
非常感谢,我不知道类实例总是按值传递的。我创建了 myClass 的深层克隆,以便按值传递。
标签: c# wpf data-binding binding