绑定值重置为空字符串

时间:2012-11-05 04:25:30

标签: wpf mvvm binding

对于我的WPF应用程序,我创建了几个UserControls,每个PageViewModelBase都有自己的 ViewModel ViewModels 都基于UserControls,其中包含变量“ _context ”。

_masterContext在向导对话框中显示为页面,该对话框有自己的 WizardViewModel WizardViewModel 具有变量Child1ViewModel vm = new Child1ViewModel(_masterContext); ,它通过其构造函数传递给相应的子ViewModels。例如,

public Child1ViewModel(Context context) : base(context)

和Child1ViewModel的构造函数:

protected PageViewModelBase(Context context)
{
    _context = context;
}

和PageViewModelBase:

TextBox.Text

我的意图是只有1个_masterContext ,可以通过每个ChildViewModel访问。并且每个子视图都可以绑定到此视图,并为主上下文中的各个字段提供值。

然而,每当我从childView1切换到childView2时,我遇到的问题是我绑定到{{1}}的字段会重置为“”。我不确定这是由于我的MMI代码,还是在应用程序中有超过1个_masterContext实例,即我上面的方法没有按预期进行。

可能导致此问题的原因是什么?

1 个答案:

答案 0 :(得分:0)

管理找到重置值的罪魁祸首。我实现了一个行为来处理TextBox的TextChanged事件。以某种方式与Binding结合使用会导致值被重置。一旦我拿走了它,绑定工作正常。

由于我的知识有限,我无法解释原因。但是感谢您的所有时间。