我有一个 View 和 ViewModel。
MyView
{
MyView(int id)
{
InitializeComponent();
}
}
MyViewModel
{
private int _id;
public int ID
{
get { return _id; }
set { _id= value; OnPropertyChanged("_id"); }
}
}
我将我的 XAML 上的数据上下文设置为:
<Window.DataContext>
<vm:MyViewModel/>
</Window.DataContext>
单击按钮时,我将 View 显示为:
Application.Current.Dispatcher.Invoke(() => new MyView(id).Show());
现在,如何将 id 从 MyView(id)
传递到 MyViewModel.ID.
最佳答案
由于 DataContext 是在 InitializeComponent() 调用之后创建的,因此您可以随后将其传递给 ViewModel:
MyView
{
MyView(int id)
{
InitializeComponent();
((MyViewModel)DataContext).ID = id;
}
}
关于c# - 如何将 View 构造函数参数传递给 View 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29535148/