WPF приложение на MVVM с использованием CommunityToolkit и Dependency Container

Опубликовано 11.08.2024 18:03:58 в категории WPF, MVVM, Silverlight

Шаблон проекта WPF с MVVV для Visual Studio, JetBrains Rider и просто для dotnet CLI

Описание

Шаблон для приложения WPF + MVVM содержит компоненты, которые существенно ускорят процесс начала разработки нового приложения. В шаблоне уже все готово для начала старта, потому содержит следующие компоненты:

  • CommunityToolkit.Mvvm - Фреймворк с инструментами MVVM.
  • Microsoft.Extensions.DependencyInjection - DI-контейнер для вашего приложения.
  • Microsoft.Extensions.Logging.Debug — помощь в отображении сообщений отладки в окне отладки Visual Studio.
  • Serilog.Extensions.Hosting - интеграция регистратора Serilog с хостом вашего приложения.
  • Serilog.Sinks.File - Serilog logger для лог-файла очень полезен при использовании платформы WPF, т.к. нет никакой консоли для записи логов

Вы можно создать новый проект из этого шаблона при помощи Visual Studio, JetBrains Rider или просто из командной строки dotnet CLI.

Установка

Чтобы шаблон появился в списке доступных шаблонов для начала надо устновить его. Так как шаблон является nuget-пакетом, то досточно просто выполнить команду в командной строке:

dotnet new install Calabonga.Wpf.Mvvm.Template

Результатом выполнения может быть примерно такая картинка:

После успешной установки можно открывать Visual Studio или Rider.

Visual Studio

Rider

Первый запуск

После того как проект будет создан, его можно сразу запустить. Вот такое приветственное окно вы увидите или должны увидеть.

Можно начинать сразу писать код, причем, правильный код!

Репозиторий

Calabonga.WpfMvvm.Template on GitHub

Комментарии к статье ()

Загрузка...

Что-то пошло не по сценарию и завершилось ошибкой. Перезагрузить страницу (F5) 🗙

Переподключаем сервер...

Переподключение сломалось... Пробуем еще раз сек.

Не получилось переподключится.
Пожалуйста, обновите страницу F5

Сессия была поставлена сервером на паузу.

Восстановить сессию не получилось.
Пожалуйста, обновите страницу F5.