浏览教程时,“ribbon.ApplicationhMenu”总是出现在屏幕的左侧,而不是右侧,就像在 Office 2007、Paint(在 Windows 7 上)和 WordPad(在 Windows 7 上)中所做的那样。
有什么办法可以改变这种情况吗?
谢谢
(问题示例在这里http://cid-a45fe702de180b23.skydrive.live.com/self.aspx/Public/RibbonAnnoyance.png(作为新用户,我只能发布 1 个超链接))
浏览教程时,“ribbon.ApplicationhMenu”总是出现在屏幕的左侧,而不是右侧,就像在 Office 2007、Paint(在 Windows 7 上)和 WordPad(在 Windows 7 上)中所做的那样。
有什么办法可以改变这种情况吗?
谢谢
(问题示例在这里http://cid-a45fe702de180b23.skydrive.live.com/self.aspx/Public/RibbonAnnoyance.png(作为新用户,我只能发布 1 个超链接))
感谢你的回复。是的,我正在使用 Office 团队的功能区/FluentUI
抱歉,我无法登录大约 22 小时前创建的“M.Ahrens”帐户(它不是 OpenID 帐户,我不确定如何在没有 OpenID 的情况下登录,所以我现在成功了我自己是一个 OpenID)。
我之前无法发布教程的链接(因为新用户只能发布 1 个超链接),但这里是: http ://www.renevo.com/blogs/dotnet/archive/2009/02/10/你的第一个 wpf-ribbon-application.aspx
它不仅仅发生在本教程中,它发生在我制作的所有其他功能区应用程序(包括 Microsoft 示例)中。我试过流动:
*HorizontalAlignment="右"
*HorizontalContentAlignment="右"
*FlowDirection="RightToLeft"(使 ApplicationMenu 向右移动,但切换列)
*默认
但它似乎没有什么不同,ApplicationMenu 仍然在“左侧”(除非我最大化窗口)。
阿伦斯
+++++++++++++++++++++++++++++
编辑(添加代码示例):
<r:RibbonWindow
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"
Height="400" Width="400">
<DockPanel>
<r:Ribbon DockPanel.Dock="Top">
<r:Ribbon.ApplicationMenu>
<r:RibbonApplicationMenu>
</r:RibbonApplicationMenu>
</r:Ribbon.ApplicationMenu>
</r:Ribbon>
</DockPanel>
</r:RibbonWindow>
您使用的是 OfficeUI 团队的 WPF 功能区吗?
我们正在使用那个,并且不会发生这样的事情。可能发布一些您用于创建应用程序菜单的 XAML。
编辑:看看你的代码,我怀疑 DockPanel 有点傻。
这就是我们如何构建布局以添加功能区
<r:RibbonWindow x:Class="MyAssembly.Main"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"
Title="The Title"
Height="450"
Width="600" >
<Grid x:Name="grdMain">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<r:Ribbon Title="The Title" x:Name="ribbonMain" Grid.Row="0">
<!--Quick Access Toolbar-->
<r:Ribbon.QuickAccessToolBar>
<r:RibbonQuickAccessToolBar>
</r:RibbonQuickAccessToolBar>
</r:Ribbon.QuickAccessToolBar>
<!--Application Menu-->
<r:Ribbon.ApplicationMenu>
<r:RibbonApplicationMenu x:Name="mnuApplication">
<!--App Menu Items-->
<r:RibbonApplicationMenu.Items>
</r:RibbonApplicationMenu.Items>
<!--App Menu Recent Item List-->
<r:RibbonApplicationMenu.RecentItemList>
<StackPanel>
<r:RibbonLabel>Recent Items</r:RibbonLabel>
<r:RibbonSeparator/>
<r:RibbonHighlightingList x:Name="lstRecentItems"/>
</StackPanel>
</r:RibbonApplicationMenu.RecentItemList>
<!--App Menu Footer-->
<r:RibbonApplicationMenu.Footer>
</r:RibbonApplicationMenu.Footer>
</r:RibbonApplicationMenu>
</r:Ribbon.ApplicationMenu>
</r:Ribbon>
<Grid Grid.Row="1">
<!--This is the aread under the ribbon. Place layout things inside of this space-->
</Grid>
</Grid> </r:RibbonWindow> <!--This is closing tag is on this line as SO is being silly-->
正如我所提到的,我怀疑 DockPanel 有点傻,但我现在测试它有点晚(上午 12 点)。尝试将此代码复制到您的 XAML 中,看看会发生什么。
坦率地说,我不太信任 DockPanels,网格对我来说效果更好:D