Как создать объект в ViewModel и отредактировать его в другом ViewModel или пользовательском элементе управления - PullRequest
0 голосов
/ 15 апреля 2020

Я новичок в c# и mvvm. У меня есть класс, который имеет много свойств, и из-за этого невозможно представить каждое свойство пользователю на одной странице. Поэтому я решил разбить пользовательский интерфейс на 4 части. Я разработал один пользовательский элемент управления для каждой из этих частей. На данный момент у меня есть 4 различных пользовательских элемента управления, которые представлены пользователю с помощью выбора боковой панели. Тем не менее, у меня все еще есть один объект, с которым можно работать, и его тоже невозможно разбить.

Проблема в том, что я не могу получить доступ к объекту из кода пользовательских элементов управления. Это означает, что я могу связать объект с пользовательским интерфейсом, но я не могу изменить параметры в коде позади.

Ответы [ 2 ]

0 голосов
/ 15 апреля 2020

Если вы реализуете MVVM, то, как вы знаете, у вас есть представление (пользовательский интерфейс, например, Page1.xaml) в XAML, с кодом позади (Page1.xaml.cs), тогда они используют ViewModel (например, Page1ViewModel.cs) в качестве своего контекст данных, т. е. где они могут получить доступ к модели.

Вам не нужно иметь взаимно-однозначное соотношение представлений, моделей представления и моделей. У вас может быть несколько видов, использующих один и тот же ViewModel в качестве контекста данных, и вы можете сделать так, чтобы ViewModel содержал еще несколько ViewModel, и ViewModel может ссылаться на несколько моделей при необходимости.

Так что в вашей ситуации у меня было бы несколько страницы ссылаются на ту же модель представления.

0 голосов
/ 15 апреля 2020

Добро пожаловать в SO!

С одной стороны, вы говорите о MVVM и привязке данных, но с другой стороны, вы говорите об изменении изменяющихся параметров в коде. Это противоположные модели дизайна. Выберите один!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...