1 回答

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊
您的視圖 ( DetailedViewPage) 有一個(gè)DataContext,即DetailedViewViewModel。
DataContext可以通過默認(rèn)構(gòu)造函數(shù)(在 XAML 中輸入時(shí))自動(dòng)創(chuàng)建,也可以在構(gòu)造函數(shù)中創(chuàng)建。基本上,在創(chuàng)建視圖之后,我們可以簡(jiǎn)單地為其設(shè)置值。
public DetailedViewPage(string position)
{
InitializeComponent();
//optional line, if not set in XAML
this.DataContext = new DetailedViewViewModel();
var VM = (this.DataContext as DetailedViewModel);
VM.PossitionShown = position;
}
編輯: 添加代碼以在 ViewModel 構(gòu)造中傳遞變量。
public DetailedViewPage(string position)
{
InitializeComponent();
//Note this line is not "optional" anymore, You must pass the value as a variable.
this.DataContext = new DetailedViewViewModel(position);
}
public class DetailedViewViewModel : BaseViewModel
{
public string PossitionShown { get; set; }
public DetailedViewViewModel(string position)
{
PossitionShown = position;
}
}
附帶說明一下,這并不完全是MVVM approach,因?yàn)槟呀?jīng)通過 傳遞了一些參數(shù)View,并且View正在考慮存在某種類型的ViewModel.
- 1 回答
- 0 關(guān)注
- 512 瀏覽
添加回答
舉報(bào)