powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Прослушивать изменения в Model из ViewModel
8 сообщений из 8, страница 1 из 1
Прослушивать изменения в Model из ViewModel
    #40049151
tatarnikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Подскажите как прослушивать изменения в Model из ViewModel.

Есть Model

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
   public class MainModel : BaseViewModel
    { 
        private string pLink ;
        public string Link
        {
            get => Link;
            set
            {
                pLink = value;
                OnPropertyChanged();
            }
        }

        private string pImage ;
        public string Image
        {
            get => pImage;
            set
            {
                pImage = value;
                OnPropertyChanged();
            }
        }
    }



Есть MainViewModel

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    public class TopViewModel : BaseViewModel
    {
        private readonly Model model;

        public TopViewModel()
        {
            model = new Model();
	    model.Link = "https://yandex.ru/";
	    model.Image = "https://omoro.ru/wp-content/uploads/2018/05/chernii-smailik-7.jpg";
        }
    }	



Есть вторая ViewModel в которой нужно прослушивать Model.
Пробовал сделать так -

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
   public class TwoViewModel : BaseViewModel
    {
        private readonly Model model;

        public TopViewModel()
        {
            model = new Model();
	    model.PropertyChanged += Model_PropertyChanged;
	}
		
	private void Model_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if ( e.PropertyName == nameof(Model.Link))
            {
                ... 
            }
	    if ( e.PropertyName == nameof(Model.Image))
            {
                ... 
            }
        }
    }



Не работает....
...
Рейтинг: 0 / 0
Прослушивать изменения в Model из ViewModel
    #40049164
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сложно что-то сказать, не видя кода Model
...
Рейтинг: 0 / 0
Прослушивать изменения в Model из ViewModel
    #40049362
Eld Hasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tatarnikov , это ваш топик Прослушивать изменения в Model из ViewModel ?
В нём есть ответ.
...
Рейтинг: 0 / 0
Прослушивать изменения в Model из ViewModel
    #40049390
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сижу 3 ViewModel, модель не наблюдаю.
...
Рейтинг: 0 / 0
Прослушивать изменения в Model из ViewModel
    #40049410
Eld Hasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes
Вижу 3 ViewModel, модель не наблюдаю.


MainModel - тоже с реализацией INPC.
Целесообразность такой реализации Модели - оставим за скобками.
Наверное, сделано по какому-то учебному примеру.
...
Рейтинг: 0 / 0
Прослушивать изменения в Model из ViewModel
    #40049424
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
public class TwoViewModel : BaseViewModel
{
    private readonly Model model;
    
    public TopViewModel(Model model)
    {
        this.model = model;
        model.PropertyChanged += Model_PropertyChanged;
    }

    private void Model_PropertyChanged(object sender, PropertyChangedEventArgs e)
    {
        if ( e.PropertyName == nameof(Model.Link))
        {
            ... 
        }
        if ( e.PropertyName == nameof(Model.Image))
        {
            ... 
        }
    }
}
...
Рейтинг: 0 / 0
Прослушивать изменения в Model из ViewModel
    #40049428
Eld Hasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes , на другом сайте где ТС задал этот же вопрос - ответ аналогичен.
Но чем-то он ему не понравился, раз решил и здесь его задать.
...
Рейтинг: 0 / 0
Прослушивать изменения в Model из ViewModel
    #40049430
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eld Hasp,

ну, при условии того, что модель создается в 1 представлении, а потом по ссылке передается в другое, где представление подписывается на событие, как следствие будет проблема того, что модель представления 2 не будет очищаться GC, пока существует модель представления 1, что само по себе уже очень печально.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Прослушивать изменения в Model из ViewModel
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]