在阅读教程时,“ribbon.ApplicationhMenu”总是出现在屏幕的左边,而不是像Office2007、Paint (Windows7)和WordPad (Windows7)那样出现在右边。
有什么方法可以改变这一点吗?
谢谢
(问题的示例是http://cid-a45fe702de180b23.skydrive.live.com/self.aspx/Public/RibbonAnnoyance.png (作为新用户,我只能发布1个超链接))
发布于 2009-09-30 11:48:12
感谢您的回复。是,我正在使用办公室团队的功能区/ FluentUI
对不起,我无法登录到我在大约22小时前创建的'M.Ahrens‘帐户(它不是OpenID帐户,我不确定如何在没有OpenID的情况下登录,所以我现在让我自己成为OpenID)。
我之前无法发布教程的链接(因为新用户只能发布一个超链接),但它在这里:http://www.renevo.com/blogs/dotnet/archive/2009/02/10/your-first-wpf-ribbon-application.aspx
这不仅仅发生在本教程中,它还发生在我制作的所有其他ribbon应用程序中(包括Microsoft示例)。我已经尝试过流动:
*HorizontalAlignment=“正确”
*HorizontalContentAlignment=“正确”
*FlowDirection="RightToLeft“(使ApplicationMenu向右移动,但切换列)
*默认
但这看起来并没有什么不同,ApplicationMenu仍然在“左侧”(除非我最大化窗口)。
M.Ahrens
+++++++++++++++++++++++++
编辑(添加了代码示例):
<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>发布于 2009-09-30 11:02:57
你使用的是OfficeUI团队的WPF Ribbon吗?
我们正在使用它,并且不会发生任何类似的事情。可能会发布一些你用来创建应用程序菜单的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,网格对我来说工作得更好。
https://stackoverflow.com/questions/1492400
复制相似问题