我从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());