将值传递给另一个ViewModel

时间:2018-07-10 11:39:56

标签: c# wpf

我从SQL Server这样获得一个值:

 var userId = cmd.Parameters["@user_id"].Value;  

如果我尝试显示上面的值,它会正确显示,因此显然不是来自我的查询。

现在,如果我尝试传递到另一个viewModel并将其显示在该表单上,则我会不断获得“ 0”作为值。我正在使用此发送值:

  Window2 X= new Window2();
  var taskViewModel = (XViewModel)X.DataContext;
  taskViewModel.userID = Convert.ToInt32(userId.ToString());
  X.ShowDialog();

如评论中所建议,我尝试了以下操作:

 Window2 X = new Window2();            
 XViewModel Y = new XViewModel ();
 X.DataContext = Y;
 Y.userID = Convert.ToInt32(userId.ToString());
 X.Show();

第二种形式(XViewModel)的用户ID是一个整数。

第二种形式的代码:

    private int _userID;

      public int userID
      {
          get { return _userID; }
          set
          {
              _userID = value;
              NotifyOfPropertyChange("userID");
          }
      }

...
MessageBox.Show(userID.ToString());

0 个答案:

没有答案