Проблема при создании шаблона MVVM из существующего приложения - PullRequest
0 голосов
/ 30 апреля 2018

После Этот образец Я надеюсь, что смогу использовать реальный шаблон MVVM из учебника, но, насколько я понимаю, в приложении отсутствуют классы Model и View!

У меня есть MapViewModel.cs, как это

 public class MapViewModel
    {
        public MapViewModel(){ }

        private Map _map = new Map(Basemap.CreateStreets());
        public Map Map
        {
            get { return _map; }
            set { _map = value;  }
        }

    }

и MainWindow.xaml

<Window.Resources>
    <local:MapViewModel x:Key="MapViewModel" />
</Window.Resources>
<Grid>
    <esri:MapView Map="{Binding Map, Source={StaticResource MapViewModel}}" />
</Grid>

а где классы "MapView и "MapModel? Не могли бы вы помочь мне извлечь и создать эти классы из MapViewModel и создать настоящую модель MVVM?

1 Ответ

0 голосов
/ 30 апреля 2018

В шаблоне MVVM есть 3 слоя:

  • модель

  • вид

  • viemodel

Тот класс, который вы вставили, принадлежит слою viewmodel. У него есть свойства, которые должны быть привязаны к вашему представлению (xaml). Модель представления представляет состояние представления.

Теперь к слою вида принадлежит ваш файл xaml. Вы устанавливаете там все элементы управления, окна и все привязки.

И на уровне модели должны быть все провайдеры логики и данных для вашего класса viewmodel, примером может быть ваш класс BaseMap.

...