Загрузка Microsoft.Windows.Common-Controls во время выполнения - PullRequest
0 голосов
/ 08 марта 2012

У меня есть библиотека классов, которая вызывается через COM из стороннего RAD-приложения (Omnis Studio), библиотека обеспечивает функциональность .NET, такую ​​как мост SQL / Web Service. Мне пришлось добавить дополнительные методы для отображения формы WPF, которая запускает события обратно в исходное приложение.

Это все работает нормально, проект должен быть библиотекой классов и не может быть исполняемым файлом, что означало, что я не могу выбрать манифест для проекта на вкладке «Параметры приложения». Основная проблема, с которой я столкнулся сейчас, заключается в том, что без фрагмента XML ниже в моем файле манифеста я не могу получить современные диалоговые кнопки Windows, поэтому кнопки в окнах сообщений выглядят несколько устаревшими.

<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->

<dependentAssembly>
  <assemblyIdentity
      type="win32"
      name="Microsoft.Windows.Common-Controls"
      version="6.0.0.0"
      processorArchitecture="*"
      publicKeyToken="6595b64144ccf1df"
      language="*"
    />
</dependentAssembly>

Так есть ли способ, с помощью которого я могу добиться того же эффекта, если эти строки в файле манифеста выполнить, но выполнить их на заказ с помощью кода в точке входа в библиотеку классов?

Спасибо

Пол

EDIT

Добавить пояснение к комментарию Рахмаунда:

Не думаю, что вы поняли вопрос. Во-первых, я не упомянул, что это приложение Windows Form, в проекте нет нулевых ссылок на сборки Windows Forms, только сборки презентаций WPF. Проект должен быть библиотекой классов, поскольку стороннее приложение (которое является неуправляемым приложением C ++) может использовать только библиотеки классов .NET, необходимо было отображать очень настраиваемую форму, этого можно было бы достичь в текущем проекте, и я Я выбрал WPF, потому что именно в этом заключается большинство моих навыков работы с настольными приложениями, и это соответствовало модели привязки данных WPF. Мы очень довольны конечным результатом, единственная проблема, с которой я сталкиваюсь, заключается в том, что моему приложению нужно использовать элементы управления Windows в стиле XP +, если вышеупомянутый раздел отсутствует в app.manifest, тогда вместо окон сообщений используются старые кнопки ОК, кнопки Отмена не соответствует всем другим кнопкам, которые есть в моем приложении.

Этот вопрос объясняет проблему с окном сообщения

Мне нужно иметь возможность достичь того же, но без встроенного app.manifest.

1 Ответ

0 голосов
/ 13 марта 2012

Я не мог решить эту проблему, и время уходит, следуя предложению Ганса, я в итоге использовал Extended WPF Toolkit , так как я также хотел использовать другие элементы управления, такие как ColourPicker.

...