Подтвердить что ты не робот

Стиль окна с лентой WPF от Microsoft не соответствует стилю Windows 8

Я использую версию версии Windows 8 и Visual Studio 2012 для создания приложения WPF с элементом управления лентой. Я выбираю элемент управления лентой, который поставляется с WPF в .Net Framework 4.5.

Мой код для создания ленты:

<RibbonWindow
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:WpfExperiments" x:Class="WpfExperiments.MainWindow"
    Title="MainWindow" Height="350" Width="525" Icon="Test.ico">
<Ribbon>        
    <Ribbon.ApplicationMenu>
        <RibbonApplicationMenu>
            <RibbonApplicationMenuItem Header="Item 1"></RibbonApplicationMenuItem>
        </RibbonApplicationMenu>
    </Ribbon.ApplicationMenu>
    <Ribbon.QuickAccessToolBar>
        <RibbonQuickAccessToolBar>
            <RibbonButton SmallImageSource="Test.ico" Label="Test"></RibbonButton>
        </RibbonQuickAccessToolBar>
    </Ribbon.QuickAccessToolBar>
</Ribbon>

Но проблема в том, что он создает окно с уродливым стилем, который не соответствует стилю Windows 8:

My Ribbon

Сравните это с лентой проводника. Название окна центрировано (и имеет другой цвет), а размер границы окна отличается. Стиль ленты не то же самое, но я был бы доволен, если бы у меня был тот же стиль ленты, что и MS Word (который корректно отображается в Windows 8).

Explorer Ribbon in Windows 8

Поддерживает ли ленточный элемент управления WPF новый стиль Windows 8? Или я пропустил какие-либо настройки?

Edit:

Я начал редактировать шаблон в Blend (4.0, у меня нет доступа к 5.0). После исправления некоторых ошибок компиляции (кажется, ошибки в blend) я могу запустить приложение, но он выглядит так:

enter image description here

Но это не хорошая отправная точка для моих изменений...

4b9b3361

Ответ 1

Лента WPF не является оболочкой для управления, предлагаемого операционной системой (как и большинство элементов управления Windows Forms), но построенной с нуля, чтобы иметь внешний вид ленты в то время, когда она была разработана, будучи который так же гибкий, как и другие элементы управления WPF (обратите внимание на поддержку частей шаблона).

Тем не менее, это вопрос контроля, который не обновляется (в настоящее время) для поддержки стиля Windows 8. Учитывая количество шаблонов для нескольких элементов управления, которые необходимо изменить, а также необходимость обратной совместимости (и это моя догадка на данном этапе), это, возможно, считалось не приоритетом при выпуске .NET 4.5.

Возможно, вы сами сможете изменить тему, но это похоже на массовое мероприятие, поэтому вам может быть полезно использовать сторонний элемент управления, который уже реализует стиль ленты в формате Windows 8.