Стартовый проект. Часть 1 — шаблон проекта.

Любое вновь создаваемое приложение начинается с шаблона. Будь то предлагаемый VS предустановленный шаблон, или подготовленный кусок кода для создания объекта SW. Или готовый набросок приложения.

Современные тенденции развития программного обеспечения предполагают переход на кроссплатформенность. C# не исключение. Да, есть всякие .NET Core, Xamarin. На подходе MAUI. Все эти технологии предполагают использование разделения (в своей основе, но не всегда) кода на программный и описательный в части интерфейса с пользователем. То, что касается визуализации — это XAML. Всё что логика и взаимодействие — это C#. Есть огромное множество фреймворков, которые являются помощниками в MVVM. Описывать все свои действия и разъяснять глубокие (именно глубокие) подробности тут — значит перемолоть огромную кучу интернета сделав очередную статью для новичков. Я предлагаю вам сделать это самостоятельно)) Основываясь что у вас найдётся и желание и возможности понять больше чем есть в этой статье. Тут же, попробуем сделать симпатичное приложение-шаблон, которое у меня является тем самым шаблоном на старте.

Я не буду рассматривать кроссплатформенные фреймворки (Avalonia, MAUI и подобные). Попробуем сделать просто обычное Windows приложение, куда поместим логику вызова MessageBox для Solidworks.

Для придания красивости используем библиотеку MahApps. Для упрощения обработчиков событий изменений свойств используем PropertyChanged.

Для начала нужно создать пустое приложение .NET Framework.

Для приложения выбираем один из последних доступных фреймворков. Это важно для MahApps. Допустим это будет версия 4.7.2.

Технология MVVM предполагает разделение кода на логику и визуализацию. Сделаем то же самое папками в решении. Также, я добавил пару своих классов. Один для создания события вызова кнопки, и второй для того, чтобы Fody автоматом обработал все свойства. Как он это делает — читайте на странице проекта на гитхабе.

Для добавления сторонних библиотек, используем nuget пакеты

Добавим код для ресурсов MahApps и сделаем класс самого окна производным от библиотечного MahApps

Если всё сделано правильно, то запустив отладку увидим стилизованное окно с синей рамочкой.

Все действия по переименованию и перемещению я делал с использованием resharper-а. Это надстройка для студии. С помощью него всё переименовывается массово, перемещается как надо.

Сам проект в изначальном исходнике доступен тут.