1 回答
![?](http://img1.sycdn.imooc.com/545865da00012e6402200220-100-100.jpg)
TA贡献1843条经验 获得超7个赞
您的视图 ( DetailedViewPage) 有一个DataContext,即DetailedViewViewModel。
DataContext可以通过默认构造函数(在 XAML 中输入时)自动创建,也可以在构造函数中创建。基本上,在创建视图之后,我们可以简单地为其设置值。
public DetailedViewPage(string position)
{
InitializeComponent();
//optional line, if not set in XAML
this.DataContext = new DetailedViewViewModel();
var VM = (this.DataContext as DetailedViewModel);
VM.PossitionShown = position;
}
编辑: 添加代码以在 ViewModel 构造中传递变量。
public DetailedViewPage(string position)
{
InitializeComponent();
//Note this line is not "optional" anymore, You must pass the value as a variable.
this.DataContext = new DetailedViewViewModel(position);
}
public class DetailedViewViewModel : BaseViewModel
{
public string PossitionShown { get; set; }
public DetailedViewViewModel(string position)
{
PossitionShown = position;
}
}
附带说明一下,这并不完全是MVVM approach,因为您已经通过 传递了一些参数View,并且View正在考虑存在某种类型的ViewModel.
- 1 回答
- 0 关注
- 490 浏览
添加回答
举报