我创建了一个带有datacontext的简单示例。请从此处获取示例:source我了解DataContext的用途是
在我的示例中,
如果我单击“单击”按钮,则文本框值将更新。 -通过
如果我单击“更新”按钮,则文本框值将被更新。 -通过
如果我单击“清除”按钮,则文本框值未更新。 -失败
单击“清除”按钮后,如果单击“单击”或“更新”按钮,则文本框值未更新。 -失败
我做错什么了吗?如果是,如何在构造函数的文本框中初始化一些值,然后如果用户进行更改,则需要更新datacontext对象的值。如果我在后面的代码中更新了任何值,则需要在UI中更新这些值。另外,如果我单击“清除”按钮,则所有文本框值都需要清除。之后,如果用户再次输入值,则需要更新对象。我该如何实现?请帮忙。
注意:在我的示例中,我注释了一些行。这样,我每次都将数据上下文转换为模型类并进行更改。它的工作正常。我是否需要使用该方法来更新值运行时间。更改对象中的值将不会在UI中更新?
答案 0 :(得分:2)
问题是您考虑了链接到DataContext的变量“ dc”,但事实并非如此。要修复您的代码,只需在更改“ dc”变量后再次设置DataContext。
private void Button_Click_1(object sender, RoutedEventArgs e)
{
dc = new Journal();
myPanel.DataContext = dc;
//myPanel.DataContext = new Journal();
}