使用Microsoft的WPF功能区的窗口样式与Windows 8样式不匹配

Fox*_*x32 20 wpf ribbon windows-8 .net-4.5 wpf-4.5

我正在使用Windows 8和Visual Studio 2012的发行版本来创建带有Ribbon控件的WPF应用程序.我在.Net Framework 4.5中选择了WPF附带的功能区控件.

我创建功能区的代码:

<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>
Run Code Online (Sandbox Code Playgroud)

但问题是,它生成一个丑陋风格的窗口,与windows 8风格不匹配:

我的丝带

将它与资源管理器功能区进行比较.窗口标题居中(并具有不同的颜色),窗口的边框大小不同.功能区的风格是不一样的,但如果我有与MS Word相同的功能区风格(在Windows 8中正确显示),我会感到满意.

Windows 8中的资源管理器功能区

WPF的功能区控件是否不支持新的Windows 8样式?或者我错过了任何设置?

编辑:

我开始在Blend中编辑模板(4.0,我无法访问5.0).修复一些编译错误(似乎是混合中的错误)后,我可以运行该应用程序,但它看起来像这样:

在此输入图像描述

但这不是我改变的良好起点......

cas*_*One 2

WPF 功能区不是操作系统提供的控件(如大多数 Windows 窗体控件)的包装器,而是从头开始构建的,以具有开发时功能区的外观和感觉,同时作为一个控件与其他 WPF 控件一样灵活(注意对模板部分的支持)。

也就是说,这是控件(当前)未更新以支持 Windows 8 风格的问题。考虑到必须更改的多个控件的模板数量,以及向后兼容的需要(这是我目前的猜测),当 .NET 4.5 发布时,它可能被视为不是优先事项。

您也许可以自己更改主题,但这看起来是一项艰巨的任务,因此使用已经实现 Windows 8 功能区样式的第三方控件可能是值得的。

  • 第三方的都是垃圾(抱歉),它们总是崩溃并挂起程序。我们需要一个官方的、可定制的。 (6认同)