WP开发,在使用MVVM时有时候想直接在ViewModel下获取View的控件,那怎么获取呢,请看下文。
1. 在VM中添加以下代码
public object getView { get; set; }
public MainVM(object host)
{
getView = host;
//调用MainPage的btn(这是MainPage 界面下的Button的名字)的时候
//var text = ((MainPage)(getView)).btn.Content.ToString();
}
2.在MainPage.cs中添加以下代码
public MainVM Main;
// 构造函数
public MainPage()
{
InitializeComponent();
this.Main = new MainVM(this);
this.DataContext = Main;
}
3.在ViewModel中想要调用的时候就这样写 ((MainPage)(getView)).XXX(控件名).(属性)
var text = ((MainPage)(getView)).btn.Content.ToString();