代码说明
在WPF中,我创建了一个包含一些属性的类。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace wpfBindingTest_TwoWay
{
public class ClassTest
{
public String myValue { get; set; }
}
}
包含需要绑定的元素的窗口具有以下内容:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
_clTest.myValue = "Value";
this.DataContext = clTest;
}
private ClassTest _clTest = new ClassTest();
public ClassTest clTest
{
get { return _clTest; }
set { _clTest = value; }
}
单击按钮时,我会调用“绑定窗口”(从主窗口):
private void Button_Click(object sender, RoutedEventArgs e)
{
WindowTest windowTest = new WindowTest();
windowTest.ShowDialog();
}
绑定是双向的,并在XAML中实现如下:
<TextBox Text="{Binding myValue, Mode=TwoWay}" ...
正如所料,加载后,文本框显示:“Value”。
我的问题
如果在绑定文本框中更改了值,我希望对象属性也更改,这样,如果用户单击“保存”按钮,则更改可以保存到数据库中。发生这种情况。
但是,我的问题是,如果用户关闭窗口然后重新打开它,则更改仍然存在,即使我在已关闭的事件上将类设置为null。
我想要发生的是,当窗户被丢弃时,所做的更改会被遗忘。
非常感谢任何帮助。