【发布时间】:2010-11-05 20:57:49
【问题描述】:
我正在尝试围绕 MVVM 展开。我了解很多,但我很难掌握一个方面:设置 DataContext。
我想展示一个包含特定对象的视图。用户无法决定什么是可见的,所以我需要在代码中创建视图。然后,我想将视图的 DataContext 设置为一个对象(用于绑定)。我试图不在视图中为此添加代码,但 View.LayoutRoot.DataContext 不是公开的。
我错过了什么?
尽量避免这种情况:
public class View
{
public View(object dataContext)
{
InitializeComponent();
LayoutRoot.DataContext = dataContext;
}
}
类似这样的:
public class ViewModel
{
...
public UIElement GetView()
{
UIElement *element = new View();
element.LayoutRoot.DataContext = element;
return element;
}
}
【问题讨论】:
标签: c# wpf mvvm binding datacontext