Интеграция Qt в .Net: проблема изменения размера

Я пишу виджет Qt, который должен быть интегрирован в приложение .Net.
Я использовал эту статью для создания класса-оболочки для WPF.
Проблема, с которой я столкнулся, заключается в том, что виджет не занимает всего пространства, выделенного для него. Он легко виден на прикрепленном изображении.

.Net изменение размера проблема

Мне интересно, есть ли простое решение этой проблемы, которое не связано с использованием COM/ActiveX, потому что я хотел бы сохранить мой класс легко видимым в .Net?

1 ответ

  1. Для выполнения работы необходимо использовать COM-объекты и интерфейсы. Нет никакого способа обойти это, так как вы должны манипулировать формой, чтобы внедрить существующее приложение. Есть много информации об этом на MSDN и stackoverflow, но эта реализация не приходит без побочных нежелательных побочных эффектов один быть хорошим интегрированным взглядом и чувствовать.

    Вы можете центрировать встроенное приложение/виджет win32 Qt, а затем соответственно раскрасить контейнер WPF, но так как вы все еще заняты написанием виджета Qt, я бы посоветовал вам сделать все ваше приложение в WPF и c#, поскольку это будет иметь гораздо лучший внешний вид, а также экономить на стоимости лицензирования для коммерческого использования Qt. Используя WPF, вы все равно делаете ваше приложение зависимым от Windows. Если вы используете Qt для преимуществ производительности C++, вместо того, чтобы писать небольшие приложения cli C++ и выполнять их через код c#, где это необходимо.