WPF с С++, возможно ли это?

У меня есть моя основная программа на С++, но теперь мне нужно создать красивое приложение, и я знаю, что WPF прост и подходит для красивых приложений. Может ли WPF работать с С++ или С# и С++? (Если да, как?) Является ли WPF лучшим для меня?

Ответ 1

Вы можете использовать WPF в управляемом проекте С++, но вам лучше держать ваш С++ в отдельной сборке и ссылаться на нее из проекта С# или VB WPF.

Ответ 2

Да, вы можете разработать графический интерфейс с использованием среды WPF в Managed C + или С++/CLI. Но они не Standard С++, следовательно, не являются кросс-платформенными.

Если вам просто нужен графический интерфейс для вашего приложения, написанного на С++, вы можете попробовать Qt. Преимущество в Qt заключается в том, что он полностью на С++. Не управляется Microsoft С++. Второе преимущество - это кросс-платформенный инструментарий. Это означает, что вы можете запускать свое приложение в Windows, Linux, Mac и других машинах.

Посмотрите на его документацию

В нем есть множество инструментов для быстрого развития, таких как Qt Creator, Qt Designer и другие. Вы можете просмотреть их все, просмотрев приведенную выше ссылку.

Ответ 3

WPF мертв вместе с Silverlight, помните, MS говорит о своем HTML5 только с этого момента:)

Использование WPF в вашем приложении на С++ может быть достигнуто с помощью hwndSource, но это не оптимальное решение, для этого вам нужно будет создать С# или VB.NET GUI, и использовать его для связи с вашим приложением С++ с помощью какой-либо формы IPC.

Есть альтернативы, возможно, лучше всего написать свой графический интерфейс, используя Qt, который очень хорошо соблюдается. Вы можете получить аналогичные функции в WPF, написав с помощью QML рядом со старой системой на основе форм (что означает, что вы получаете всю скорость разработки старого, скучные текстовые поля и т.п., а также приятные графические преимущества использования новой декларативной системы пользовательского интерфейса, все в одной системе. сладкий).

Конечно, достойный вариант - сделать ваше приложение встроенным серверным процессом и вызвать его из пользовательского интерфейса HTML5 на основе веб-сервера. Это прекрасное будущее доказательство, простое развертывание для клиентов и столь же современное, как вы, вероятно, получите.