1 回答

TA貢獻1843條經驗 獲得超7個贊
您的視圖 ( DetailedViewPage) 有一個DataContext,即DetailedViewViewModel。
DataContext可以通過默認構造函數(在 XAML 中輸入時)自動創建,也可以在構造函數中創建。基本上,在創建視圖之后,我們可以簡單地為其設置值。
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 構造中傳遞變量。
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,因為您已經通過 傳遞了一些參數View,并且View正在考慮存在某種類型的ViewModel.
- 1 回答
- 0 關注
- 535 瀏覽
添加回答
舉報