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