Тема DevExpress WPF в области дизайна Visual Studio отображается иначе, чем внешний вид скомпилированного приложения

Я разрабатываю приложение с DevExpress 14.2.10.0 на WPF в Visual Studio 2013 12.0.40629.00 Update 5.

Скомпилированное приложение выглядит иначе, чем панель дизайна в Visual Studio

Я использую пользовательскую тему, разработанную и скомпилированную с помощью темы DevExpress WPF. Editor и использовать его в моем проекте с помощью этого кода:

public MainWindow()
    {
        var theme = new Theme("EstiwLight", "DevExpress.Xpf.Themes.EstiwLight.v14.2")
        {
            AssemblyName = "DevExpress.Xpf.Themes.EstiwLight.v14.2"
        };
        Theme.RegisterTheme(theme);
        ThemeManager.ApplicationThemeName = "EstiwLight";
        InitializeComponent();
    }

Тема правильно связана с деревом ссылок в VS и копируется локально с помощью флажка на панели настроек ссылки на тему.

Если я использую некоторые темы DevExpress, панель дизайна применяет их нормально.

Но если я посмотрю MailClient DevExpress WPF Demo, то увижу точно такую ​​же ситуацию:

Демонстрация MailClient DevExpress WPF неправильно отображает тему по умолчанию

Итак, проблема очевидна: как правильно применить пользовательскую тему, чтобы отобразить ее в области дизайна Visual Studio?


Я вижу похожий вопрос но я использую другие (почти) обновленные версии программного обеспечения, в отличие от этого вопроса 2011 года.


person Даниил Пронин    schedule 17.11.2015    source источник


Ответы (1)


Я тоже столкнулся с этой проблемой.

Найдите строку XAML, чтобы установить пользовательскую тему DevExpress, и вставьте ее в заголовок вашего UserControl:

https://documentation.devexpress.com/#WPF/CustomDocument7407

По умолчанию эта тема не будет применяться в конструкторе XAML, если вы не:

  1. Закомментируйте указанную строку XAML.
  2. Скомпилируйте проект, дождитесь ререндера.
  3. Комментарий в указанной строке XAML.
  4. Скомпилируйте проект, дождитесь ререндера.

Если ничего не работает, нажмите Ctrl-Shift-Escape, чтобы вызвать Process Explorer, затем завершите процесс рендеринга дизайнера XAML (он предложит перезагрузить): http://blog.spinthemoose.com/2013/03/24/disable-the-xaml-designer-in-visual-studio/

Эти инструкции работают для VS2012, VS2013, VS2015 и DevExpress v14 и v15.

Если вы выработаете лучший способ, пожалуйста, дайте мне знать!

person Contango    schedule 17.11.2015