Хотел сохранить несколько интересных шаблонов проектов на Prism MVVM. В этой коллекции есть проекты как из Японии и америки.
Китайское демонстрационное приложение(модуль пациенты и лекарства)
Это решение демонстрирует, как WPF реализует шаблон MVVM с использованием Prism8.0 в .NET 5 CORE, в которой элемент управления пользовательского интерфейса ссылается на библиотеку элементов управления MahApps
У автора этого примера есть свой блог ljjyy.com
Проект создан с помощью библиотек:
- Prism.Wpf
- MahApps.Metro
- Unity.Interception
На демонстрации видно, что с помощью этого примера можно создать:
- Аутентификация пользователей в системе
- Регистрация новых пользователей
- Автоматическая и ручная загрузка модулей
- Взаимодействие между разными модулями
- Изменение данных
- Поиск по справочнику
- Начало разработки на WPF MVVM с использованием Prism и EntityFramework Core
- Используем Prism Unity для реализации одной из привязок данных .NET Core WPF MVVM
- Используем Prism Unity для реализации команды .NET Core WPF MVVM
- Используем Prism Unity для реализации модульности .NET Core WPF MVVM
- Используем Prism Unity для реализацииагрегаторов событий .NET Core WPF MVVM
- Используем Prism Unity для реализации .NET Core WPF MVVM Zone manager
- Используем Prism Unity для реализации системы навигации .NET Core WPF MVVM
- Используем Prism Unity для реализации службы диалоговых окон .NET Core WPF MVVM
Японский менеджер книг (Prism + MaterialDesign +ReactiveProperty + EntityFramework)
Приложение позволяет :
Создавать, редактировать и удалять авторов книг;
Искать авторов по ключевому слову и по дате рождения;
Создавать, редактировать и удалять издателей книг;
Искать издателя по ключевому слову и по типу организации;
# Подготовка перед использованием
1. Создайте каталог ‘BookManager‘ в ‘%AppData%’
2. В консоли диспетчера пакетов укажите ‘CommonModule‘ и выполните команду ‘Update-Database‘ (создание базы данных).
TodoList
Простое настольное приложение со списком дел, использующее WPF с Prism для быстрой и простой реализации MVVM.
Dynamic Modules
Dynamic Modules — это образец прототипа для модульного приложения WPF, основанного на библиотеке Prism и современном интерфейсе для WPF (MUI) Toolkit. Это доказательство концепции создания современных приложений WPF с интерфейсом в стиле metro в архитектуре плагинов.
Некоторое время назад мой коллега рассказал мне о проблеме, которую он должен был решить. Заказчик попросил его разработать настольное приложение, которое представляет другой набор функций в соответствии с тем, в каком из офисов предприятия используется программное обеспечение. С одной стороны, я вспомнил, как это сделать, из прошлого проекта, в котором я участвовал. С другой стороны, существует проект с открытым исходным кодом для создания приложений WPF с современным внешним видом, за которым я слежу уже пару лет, потому что считаю его действительно замечательным.
Я подумал, есть ли способ решить проблему, используя Prism и библиотеку MUI с открытым исходным кодом для создания архитектуры плагинов, и придумал прототип решения, которое я представляю здесь.
Центральными идеями для предлагаемой архитектуры плагинов являются:
- Поместите в каталог нужные модули проекта (или поместите их все и запустите фильтр во время загрузки).
- Динамически загружайте модули проекта из папки modules.
- Каждый модуль предоставляет точку входа для опции в главном меню.
- Динамическое построение главного меню из загруженных модулей.
- Первая опция в главном меню является фиксированной и общей для каждого пользователя.
- Основной модуль с общими службами, репозиториями, DTO, определениями моделей данных и т. Д. Загружается статически. На него может ссылаться любой проект решения.
Динамические модули копируются в каталог как часть этапа после сборки. Эти модули не упоминаются в проекте запуска и обнаруживаются путем изучения сборок в каталоге. Проекты модулей имеют следующий этап после сборки, чтобы скопировать себя в этот каталог:
xcopy «$(TargetDir)$(TargetFileName)» «$(TargetDir)modules» /y
Обратите внимание, что решение встроено в папке «..\bin»
ВНИМАНИЕ! Не забывайте создавать решение (F6) перед каждым запуском, чтобы модули копировались в папку modules.
Дополнительную информацию можно найти на:
- Динамические модули с Prism и современным интерфейсом для WPF Toolkit
- Демонстрационный проект Modern UI для WPF (MUI)
- Современный пользовательский интерфейс для шаблонов WPF (расширение Visual Studio)
- Prism демонстрирует WPF / модульность с Unity