Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
-12 / 24 / 4
Регистрация: 22.06.2020
Сообщений: 376

MVVM: как правильно вызвать метод в другой VM

31.08.2023, 19:29. Показов 2699. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!

Какие есть способы вызова метода в другой VM из VM(основной)?

Не создавать же экземпляр и через него?

Добавлено через 1 час 32 минуты
Через экзмпляр метод вызывается, но он пустой (свойство в нем пустые (0)).
Хотя в тот же момент ТехtBlock забинденый на то же свойство показывает значение. Мистика?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.08.2023, 19:29
Ответы с готовыми решениями:

Как правильно вызвать команду из диалогового окна (MVVM)
Здравствуйте , продолжаю бороться со своей первой программкой отображения содержимого ObservableCollectio в ListView. Есть...

Метод main и как им вызвать другой метод
Доброго всем времени суток. У меня возникла проблема. Вобщем дело такое. У меня есть тестовый класс Test, в котором существует 4 метода:...

Как правильно вызвать метод?
Как правильно вызвать метод, чтобы он показал текст совпадающий с введеным значением? class Program { static void...

24
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
04.09.2023, 00:06
Лучший ответ Сообщение было отмечено Berendom как решение

Решение

Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Berendom Посмотреть сообщение
На стареньком mvvm light как это будет выглядеть?
В этом пакете есть Мессенджер MVVM Light Messenger
Но это старое решение.
В современном понимании ООП-MVVM считается лучшим применение внедрения зависимостей.
В том числе как я показал вам выше. Но лучше это оформить в виде диалогового сервиса.
1
 Аватар для Mnham
139 / 25 / 3
Регистрация: 19.07.2020
Сообщений: 56
04.09.2023, 14:44
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Но считается подобная реализация является потенциально проблемной с точки зрения безопасности (как и любые другие статические члены), и плохо укладывается в принципы ООП-MVVM.
О каких проблемах идет речь? Просто на практике не припомню, что бы были проблемы.
На счет принципов - иногда приходится чем-то жертвовать.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
04.09.2023, 14:56
Цитата Сообщение от Mnham Посмотреть сообщение
О каких проблемах идет речь?
Статические члены глобальны и доступны все во всём приложении.

Добавлено через 7 минут
Цитата Сообщение от Mnham Посмотреть сообщение
На счет принципов - иногда приходится чем-то жертвовать.
Когда есть в этом необходимость и это оправдано.
А нарушать потому что "мне так прикольнее"... Я не сторонник такого.
0
 Аватар для Mnham
139 / 25 / 3
Регистрация: 19.07.2020
Сообщений: 56
04.09.2023, 14:57
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Статические члены глобальны и доступны все во всём приложении.
ServiceCollection? Это нормальная практика. Можно конечно пробрасывать ViewModel через внедрение зависимостей, но получается еще хуже.

Цитата Сообщение от Элд Хасп Посмотреть сообщение
Когда есть в этом необходимость и это оправдано.
А нарушать потому что "мне так прикольнее"... Я не сторонник такого.
Согласен.
1
-12 / 24 / 4
Регистрация: 22.06.2020
Сообщений: 376
04.09.2023, 16:53  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
этом пакете есть Мессенджер MVVM Light Messenger
С использованием MVVM Light Messenger все работало, как я и хотел. Мистика исчезла. Т.е. mr. Bugnion думает как я и предусмотрел инструментарий.
Т.е. я думаю как он и он же предусмотрел. Инструментарий.
Я к тому, что взаимодействие между VM имеет место быть и для этого мессенджер и создан.

Messenger class is mainly used for sending messages between viewmodels.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.09.2023, 16:53

Как правильно вызвать метод
Есть form1 с datagridview1, есть form2 с datagridview2. Из form1 получаю datatable, присваиваю его в качестве источникаданных...

Как правильно вызвать метод?
У меня есть вот такой код private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { TextBox TBox =...

Как правильно вызвать метод?
общий код : public class ChromeCookieReader { static void Main(string args) { ...

Как правильно вызвать функцию из другой формы
public void TreeView_load(TreeView treeView1) { //тут много всего LoadSubNodes(node,...

Как правильно вызвать родительский метод?
Здравствуйте! Прошу помочь, самостоятельно не умею разобраться. В абстрактном классе GlobalClass создал метод isExists abstract class...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru