gpt4 book ai didi

wpf - 带有Microsoft WPF功能区的窗口样式与Windows 8样式不匹配

转载 作者:行者123 更新时间:2023-12-03 12:20:16 27 4
gpt4 key购买 nike

我正在使用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>

但是问题在于它生成的窗口样式与Windows 8样式不匹配:

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

WPF的功能区控件不支持新的Windows 8样式吗?还是我错过了任何设置?
编辑:
我开始在Blend(4.0,我无权访问5.0)中编辑模板。修复了一些编译错误(似乎是混合中的错误)之后,我可以运行该应用程序,但它看起来像这样:

但这不是我进行更改的好起点...

最佳答案

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

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

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

关于wpf - 带有Microsoft WPF功能区的窗口样式与Windows 8样式不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12511416/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com