在完成教程时,'ribbon.ApplicationhMenu'总是出现在屏幕的左侧,而不是右侧,就像在Office 2007,Paint(在Windows 7上)和写字板(在Windows上)一样7)。
有没有办法改变这个?
谢谢
(问题的例子在这里http://cid-a45fe702de180b23.skydrive.live.com/self.aspx/Public/RibbonAnnoyance.png(作为新用户,我只能发布1个超链接))
答案 0 :(得分:1)
感谢您的回复。是的,我正在使用Office团队中的Ribbon / FluentUI
抱歉,我无法登录我22小时前创建的'M.Ahrens'帐户(它不是OpenID帐户,我不确定如何在没有OpenID的情况下登录,所以我我现在变成了一个OpenID)。
我之前无法发布教程链接(因为新用户只能发布1个超链接),但这里是: http://www.renevo.com/blogs/dotnet/archive/2009/02/10/your-first-wpf-ribbon-application.aspx
它不仅发生在本教程中,它发生在我制作的所有其他功能区应用程序中(包括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>
答案 1 :(得分:0)
您使用的是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,Grids对我的工作要好得多:D