какова цель этого кода (DataContext = новый StartMenuViewModel (это);) я не понимаю, какова цель этого утверждения - PullRequest
0 голосов
/ 31 октября 2019

сталкивался с этим кодом, но не понимал:

Плюс этот xaml / WPF:

 <Window.Resources>   
    <DataTemplate DataType="{x:Type viewmodel:StartMenuViewModel}">
        <views:StartMenuView DataContext="{Binding}"/>
    </DataTemplate>
  </Window.Resources>

C #

public partial class MainWindow : Window
{
     public MainWindow()
    {
        InitializeComponent();
        DataContext = new StartMenuViewModel(this);
    }
}

public class StartMenuViewModel
{
    private MainWindow _mainWindow;
    public StartMenuViewModel(MainWindow main)
    {
        _mainWindow = main;

    }

    public void StartNewGame(int categoryIndex)
    {
        var category = (SlideCategories)categoryIndex;
        GameViewModel newGame = new GameViewModel(category);
        _mainWindow.DataContext = newGame;
    }
}

Может кто-нибудь помочь мне понять,пожалуйста?

что я понимаю:

  • создать класс mainwindow и startmenuviewmodel

  • создать тип данных свойства данных из типа startmenumodel

...