4

浏览教程时,“ribbon.ApplicationhMenu”总是出现在屏幕的左侧,而不是右侧,就像在 Office 2007、Paint(在 Windows 7 上)和 WordPad(在 Windows 7 上)中所做的那样。

有什么办法可以改变这种情况吗?

谢谢

(问题示例在这里http://cid-a45fe702de180b23.skydrive.live.com/self.aspx/Public/RibbonAnnoyance.png(作为新用户,我只能发布 1 个超链接))

4

2 回答 2

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 示例)中。我试过流动:

*Horizo​​ntalAlignment="右"

*Horizo​​ntalContentAlignment="右"

*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>
于 2009-09-30T11:48:12.167 回答
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,网格对我来说效果更好:D

于 2009-09-30T11:02:57.010 回答