Разработка пользовательского интерфейса XAML при использовании островов XAML и C ++ - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь создать настольную мультимедийную программу для Windows на C ++, думая о том, какую библиотеку пользовательского интерфейса использовать. Когда я пытался ориентироваться только на Windows, мне в голову пришли технологии, специфичные для Windows, такие как UWP. Однако, пробуя несколько примеров о C ++ / WinRT, меня беспокоили недавние упаковки приложений, такие как .appx и .msix. Мне не нравится, как они заставляют разработчиков подписывать приложения и как они устанавливаются, и я просто хочу создать проект для одного установщика .msi, который можно просто загрузить с моего сайта. Кроме того, я хочу, чтобы он также распространялся в виде zip-файла.

Поэтому я начал искать методы, отвечающие моим требованиям, и использовать довольно современные технологии Microsoft, в том числе с поддержкой чистого C / C ++, исключая C #. Кроме того, я хочу, чтобы пользовательский интерфейс моей программы был полностью разработан с использованием XAML, отделяя интерфейс от основной логики.

Я думаю, что из нескольких примеров, как официальных, так и неофициальных, этот является наиболее близкимобразец, который отвечает моим потребностям.

Объяснение:

  1. Использует традиционный шаблон Win32 из Visual Studio
  2. Компилируется в автономный двоичный файл без ошибок зависимости
  3. Имеет C ++ /Поддержка WinRT для островов XAML, так что приложение может использовать современный Fluent Design для пользовательского интерфейса
  4. Не заставляйте меня подписывать приложение и загружать приложение в Windows Store

Итак, главное преимуществов том, что я могу просто взять двоичный файл из выходной папки и использовать его. Мне также понравилось, как они показали, как играть в видео. Однако мне не понравилось, как они создавали окна приложений. Чтобы использовать технологию XAML внутри традиционного окна Win32, код в основном начинается с WinMain и рисует XAML внутри окна. Проблема в том, что это слишком громоздкая работа. Сначала я ожидал взаимодействия с файлами .xaml, как при первом создании программы UWP. Если я смогу использовать файл XAML напрямую, я смогу увидеть проект в режиме реального времени. Также было бы проще. Однако я не знаю, как настроить подобные проекты.

Я знаю, что настольное приложение UWP шаблоны использует пакет Nuget . Но они не входят в один двоичный файл при компиляции. Старые шаблоны Win32 встроены в переносимый двоичный файл, но я не знаю, как включить редактор XAML UI внутри них.

Я хочу знать, как настроить шаблоны рабочего стола C ++ для созданияПользовательский интерфейс XAML с использованием редактора Visual Studio XAML, отделяющего части пользовательского интерфейса от кода. Кто-нибудь знает, как это сделать?

...