Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
83 / 61 / 17
Регистрация: 21.08.2015
Сообщений: 1,094

MVVM одинаковые команды

18.02.2020, 09:29. Показов 1457. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Подскажите как быть, так получилось, что пользователь требует чтобы приложение создавало один и тоже отчёт из разных форм.
В одной из ViewModel уже реализована команда по созданию отчёта, я конечно могу просто скопировать код, но я знаю, что это не правильно.
Подскажите, как лучше сделать?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.02.2020, 09:29
Ответы с готовыми решениями:

WPF команды и MVVM. Часть 2. Всплытие команд. Реализация команды для списка элементов [WPF, Элд Хасп]
Тема из цикла https://www.cyberforum.ru/wpf-silverlight/thread2384523.html На практике часто встречаются случаи когда команда и кнопка...

Асинхронные команды в MVVM
Как реализуются асинхронные команды при использования паттерна MVVM? В том коде что я привел ниже в методе, компилятор жалуется на то что...

WPF.MVVM и команды
Доброго дня. При изучении команд в MVVM столкнулся с проблемой включения и отключения. есть свойство и две команды public class...

3
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
18.02.2020, 09:55
Цитата Сообщение от Чипс Посмотреть сообщение
Подскажите, как лучше сделать?
Сделать подготовку данных в модели. Из модели сможете в любую VM запрашивать данные, и выводить как угодно, в том числе какой-то "унифицированный" отчет.

Добавлено через 1 минуту
Цитата Сообщение от Чипс Посмотреть сообщение
В одной из ViewModel уже реализована команда по созданию отчёта
Бреееед. Вью модель должна только отправлять команду на получение каких-то данных. Вам же уже неоднократно говорили что VM не должна отвечать за бизнес-логику!!!!
2
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
18.02.2020, 10:08
Лучший ответ Сообщение было отмечено Чипс как решение

Решение

Чипс, поддерживаю Почтальона
Цитата Сообщение от Почтальон Посмотреть сообщение
Вью модель должна только отправлять команду на получение каких-то данных.
Не только получение, но за любую обработку данных.
А создание отчёта - это обработка данных.

View только отображает данные.
Все данные создаёт, изменяет Модель.
Функция VM согласовывать между собой Model и View, но ни как не заменять Model.

Добавлено через 7 минут
Не в нарушении вышесказанного, относитесь к команде как к любому другому ссылочному объекту.
Её так же можно передавать от одной VM другой.
Можно сделать статические экземпляры команды. Пример, группы команд ApplicationCommands, NavigationCommands, EditingCommands, ComponentCommands, MediaCommands.
1
83 / 61 / 17
Регистрация: 21.08.2015
Сообщений: 1,094
18.02.2020, 12:52  [ТС]
Цитата Сообщение от Почтальон Посмотреть сообщение
Бреееед. Вью модель должна только отправлять команду на получение каких-то данных. Вам же уже неоднократно говорили что VM не должна отвечать за бизнес-логику!!!
ооо...Вы меня помните!
Ничего страшного, я создаю первое приложение по MVVM, могу и сделать чего нибудь не то.


Элд Хасп, Спасибо за терпенье
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.02.2020, 12:52
Помогаю со студенческими работами здесь

WPF команды и MVVM. Часть 1. [WPF, Элд Хасп]
Тема из цикла https://www.cyberforum.ru/wpf-silverlight/thread2384523.html Для использования и создания WPF команд в Net предусмотрен...

Выполнение команды при нажатии на label mvvm
Привет всем, можете подсказать, уважаемые форумчане, как при нажатии на label выполнялась какая-то команда в MVVM'е. Заранее спасибо)

Как разбить WPF, MVVM по проектах? Пример команды
добрый день, я делаю большой проект на WPF с использованием паттерна MVVM. как мне его правильно разбить по проектам в VisualStudio? я так...

Избежать одновременного выполнения LostFocus и команды кнопки MVVM
Помогите пожалуйста много об этом спрашивали, но ответа так и не нашла, может кто-то уже решил проблему, За подсказки, советы и ссыки буду...

Цикл по-разному выполняет одинаковые команды
Здравствуйте, пишу программу. Если вкратце, то программа сводит кое-какую задачу к задаче линейного программирования (ЛН), и потом её...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru