如何从MainPage.xaml.cs调用LoadData()
本文关键字:调用 LoadData cs xaml MainPage | 更新日期: 2023-09-27 17:52:43
情况:
- 我有一个主页xaml,它的数据上下文设置为MainVieweModelSampleData.xaml
- 我有一个MainViewModel类,它包含ItemViewModel类类型的名为"Problems"的集合
- 我在MainviewModel类中有一个LoadData函数,其中ItemViewModel类被实例化,实例被添加到Problems集合
问题:
我如何从MainPage.xaml.cs调用它目前我正在使用以下代码从app.xaml.cs调用它:
private static MainViewModel viewModel;
public static MainViewModel ViewModel
{
get
{
if (viewModel==null)
{
viewModel = new MainViewModel();
viewModel.LoadData();
}
return viewModel;
}
}
在你的App.Xaml.cs中,你应该定义你的ViewModel如下,
private static MainViewModel _viewModel;
public static MainViewModel ViewModel
{
get { return _viewModel ?? (_viewModel = new MainViewModel()); }
}
然后在主页中,您调用viewModel,
public MainPage()
{
InitializeComponent();
//Here you set the ViewModel
this.DataContext = App.ViewModel;
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
//Here you load the data
App.ViewModel.LoadData();
}