【问题标题】:WPF Ribbon ApplicationMenu Alignment on the Right?WPF Ribbon ApplicationMenu 右对齐?
【发布时间】:2010-12-02 07:40:48
【问题描述】:

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

有什么办法可以改变吗?

谢谢

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

【问题讨论】:

    标签: wpf ribbon alignment


    【解决方案1】:

    您是否在使用 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

    【讨论】:

      【解决方案2】:

      感谢您的回复。是的,我正在使用 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 示例)中。我试过流动的:

      *Horizo​​ntalAlignment="右"

      *Horizo​​ntalContentAlignment="右"

      *FlowDirection="RightToLeft"(使 ApplicationMenu 向右移动,但切换列)

      *默认

      但它似乎并没有什么不同,ApplicationMenu 仍然在“左侧”(除非我最大化窗口)。

      M.阿伦斯

      ++++++++++++++++++++++++++++

      编辑(添加代码示例):

      <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>
      

      【讨论】:

      • 您可以发布您的 XAML 代码选择吗?这将使尝试发现问题变得更加容易。
      • (我似乎无法对您的答案发表评论,因为我只能发布 1 个超链接,所以我将在此处发表评论)。感谢您的回复,(我一定是在您发布之前大约 10 分钟才上床睡觉)我试了一下,但我需要删除“应用程序菜单页脚”,因为它不允许它为空。可悲的是,这仍然带来同样的“错误”或“烦恼”。我已经发布了截图(cid-a45fe702de180b23.skydrive.live.com/self.aspx/Public/…)。
      • 哇... hrm,我唯一能想到的另一件事是某种系统范围的从右到左的文本设置。系统语言是英文吗?我以前没见过这个,我似乎无法复制它。
      • 系统语言是澳大利亚-英语,我运行的是 Windows 7 RTM Enterprise。因此,您发布的代码不会导致与我得到的相同的“错误”/“烦恼”?
      猜你喜欢
      • 1970-01-01
      • 2013-08-23
      • 2012-09-12
      • 2011-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-25
      • 1970-01-01
      相关资源
      最近更新 更多