Где правильно разместить недвижимость в МВВМ - PullRequest
0 голосов
/ 20 февраля 2019

Вчера я спрашиваю, как модель представления взаимодействует друг с другом.Потому что дизайн моей программы есть.Модель представления содержит свойство.Пример свойства с именем DirectoryPath, а в другой модели представления я хочу получить доступ к значению DirectoryPath

. Ниже приведена ссылка

Агрегатор событий Prism - метод не можетбыть прочитанным

Тогда возникает другая проблема. В комментарии говорится.Я делаю это неправильно.

Допустим, у меня есть текстовое поле.

Затем я хочу создать строковое свойство DirectoryPath, которое будет связано в свойстве text.Тогда где я должен поместить это свойство?

И как я могу получить к нему доступ?В моей viewmodel у меня есть команда.Как мне установить текст DirectoryPath, когда пользователь нажимает кнопку?

Весь этот месяц я потратил на MVVM и WPF не так?И я хочу это исправить.

Пример кода моей ViewModel

class ViewModel : INotifyPropertyChanged
    {
        private string _DirectoryPath;

        public string DirectoryPath
        {
            get { return _DirectoryPath; }
            set
            {
                _DirectoryPath = value;
                OnPropertyChanged("DirectoryPath");
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;

        public void OnPropertyChanged(string name)
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
        }
    }

1 Ответ

0 голосов
/ 20 февраля 2019

Затем я хочу создать строковое свойство DirectoryPath, которое будет связано в текстовом свойстве.Тогда куда я должен поместить это свойство?

Место вашей собственности выглядит прямо мне.

В моей модели просмотра у меня есть команда.Как я могу установить текст DirectoryPath, когда пользователь нажимает кнопку?

Вы добавляете делегата в команду, в пределах делегата вы установите переменную DirectoryPath на желаемое значение.

  public Command Something => new Command (x => DirectoryPath = 'this is you value');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...