c# – 如何将视图构造函数参数传递给视图模型

前端之家收集整理的这篇文章主要介绍了c# – 如何将视图构造函数参数传递给视图模型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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>

单击按钮我将我的视图显示为:

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#相关文章