簡體   English   中英

如何從MainPage.xaml.cs調用LoadData()

[英]How to call LoadData() from MainPage.xaml.cs

情況:

  • 我有一個主頁面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()); }
}

然后在您的MainPage中,調用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();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM