我有一个驻留在App.xaml.cs中的字符串UserName,我需要将其带到ViewModel来填充控件。实现这一目标的最佳方法是什么?
答案 0 :(得分:1)
您最常使用控制资源来访问ViewModel实例。 然后通过ViewModel中定义的公共方法,您可以将参数传递给它。
((ViewModel1)this.Resources["ViewModel1"]).Test(p);
Test是ViewModel中接收参数的公共方法。
答案 1 :(得分:0)
您可以发送包含该值的消息(例如MvvmLight Messenger类),ViewModel将注册接收它。
在App.xaml.cs中:
Messenger.Default.Send<string>(Username);
在ViewModel的构造函数中:
Messenger.Default.Register<string>(this, m =>
{
this.Username = m; // or whatever you need to do with the value
});