2013-05-08 94 views
3

我正在使用WPF 4.5的微軟的Ribbon以及在Win 8機器上使用VS2012(C#)開發應用程序。我想讓我的應用程序顯示爲RibbonApplicationMenu,就像Office Word 2010的「文件」菜單一樣,但我無法找到使用哪個控件(請參閱附加的屏幕截圖,紅色標記的控件編號1和2)。我也試過RibbonApplicationSplitMenuItem,但它更像Office的老式。 也許任何人都可以告訴我。先謝謝你。WPF 4.5微軟的功能區:哪個控件的RibbonApplicationMenu

Which control is used

回答

0

最後我發現的Infragistics的NetAdvantage的WPF樣本瀏覽器的答案。沒有。 1被稱爲「後臺」(ribbon 2010 style),沒有。 2是「應用菜單項目」。 (在我看來)因爲我找不到教程如何創建後臺(功能區2010風格),因此infragistics的功能區比微軟的功能更容易使用;現有的教程大多使用舊版的Ribbon(2007風格)。 下面一起來看看我的簡單的代碼片段:

<Window x:Class="TestRibbon.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:ig="http://schemas.infragistics.com/xaml" 
    xmlns:igRibbon="http://infragistics.com/Ribbon" 
    xmlns:ignore="http://www.ignore.com" 
    mc:Ignorable="d ignore" 
    Height="768" 
    Width="1024" 
    Title="Test Ribbon" 
    DataContext="{Binding Main, Source={StaticResource Locator}}"> 
    <Grid x:Name="gridMain"> 
     <igRibbon:XamRibbon x:Name="ribbonMain" 
          Width="Auto" 
          ApplicationMenuMode="Office2010" 
          ApplicationAccentColor="Blue"> 
      <igRibbon:XamRibbon.ApplicationMenu2010> 
       <igRibbon:ApplicationMenu2010 Caption="File"> 
        <igRibbon:ApplicationMenu2010Item KeyTip="I" 
         Header="Information"> 
         <igRibbon:ApplicationMenu2010Item.Content> 
          <Grid Margin="20,0,0,0"> 
           <Grid.ColumnDefinitions> 
            <ColumnDefinition Width="150" /> 
            <ColumnDefinition Width="150" /> 
           </Grid.ColumnDefinitions> 
           <StackPanel Grid.Column="0"> 
            <TextBlock Margin="0,20,0,0" Foreground="Black" Text="IP" /> 
           </StackPanel> 
           <StackPanel Grid.Column="1"> 
            <TextBlock Margin="0,20,0,0" /> 
            <TextBlock Foreground="DarkGray" Text="192.168.2.1" /> 
           </StackPanel> 
          </Grid> 
         </igRibbon:ApplicationMenu2010Item.Content> 
       </igRibbon:ApplicationMenu2010> 
      </igRibbon:XamRibbon.ApplicationMenu2010> 
     </igRibbon:XamRibbon> 
    </Grid> 
</window> 
4

1)我建議你使用這裏面.NET 4.5(添加到System.Windows.Controls.Ribbon參考)色帶。我不確定你使用了什麼外部的。 2)你需要的一個菜單是Ribbon.ApplicationMenu

3)下面是一個工作功能區(基於此),其中包括幾種類型的按鈕以及您需要的菜單。 所有你需要的工作是添加一個「options.png」的圖像文件夾。

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <Ribbon SelectedIndex="0" Grid.Column="0" Grid.ColumnSpan="5"> 

      <!-- Help Pane, located at the right-hand side --> 
      <Ribbon.HelpPaneContent> 
       <RibbonButton SmallImageSource="Images\options.png" /> 
      </Ribbon.HelpPaneContent> 

      <!-- Quick Access Toolbar - located at the upper-left corner --> 
      <Ribbon.QuickAccessToolBar> 
       <RibbonQuickAccessToolBar> 
        <RibbonButton x:Name ="Save" SmallImageSource="Images\options.png" /> 
        <RibbonSplitButton x:Name ="Undo" SmallImageSource="Images\options.png" > 
         <RibbonSplitMenuItem Header="Undo 1" /> 
         <RibbonSplitMenuItem Header="Undo 2" /> 
        </RibbonSplitButton> 
        <RibbonSplitButton x:Name="Redo" SmallImageSource="Images\options.png" > 
         <RibbonSplitMenuItem Header="Redo 1" /> 
         <RibbonSplitMenuItem Header="Redo 2" /> 
        </RibbonSplitButton> 
        <RibbonCheckBox Label="Sound" KeyTip="X" /> 
       </RibbonQuickAccessToolBar> 
      </Ribbon.QuickAccessToolBar> 
      <!-- Application Menu, located at the left-hand side (down arrow) --> 
      <Ribbon.ApplicationMenu> 
       <RibbonApplicationMenu KeyTip="F"> 
        <RibbonApplicationMenuItem Header="Options1" ImageSource="Images\options.png" /> 
        <RibbonApplicationMenuItem Header="Exit2" ImageSource="Images\options.png" /> 
       </RibbonApplicationMenu> 
      </Ribbon.ApplicationMenu> 

      <!-- Ribbon Tab #1: Home --> 
      <RibbonTab Header="Home" KeyTip="H" > 

       <!-- Home group--> 
       <RibbonGroup x:Name="ClipboardGroup" Header="Home"> 
        <RibbonMenuButton LargeImageSource="Images\options.png" Label="Activate" KeyTip="V"> 
         <RibbonToggleButton SmallImageSource="Images\options.png" Label="blabla" KeyTip="H" /> 
         <RibbonToggleButton SmallImageSource="Images\options.png" Label="option2" /> 
        </RibbonMenuButton> 
        <RibbonToggleButton SmallImageSource="Images\options.png" Label="Toggle " KeyTip="X" /> 
        <RibbonToggleButton x:Name="Toggle11" SmallImageSource="Images\options.png" Label="Just a Toggle" KeyTip="FP" /> 

       </RibbonGroup> 

       <!-- Employee And Payroll group--> 
       <RibbonGroup x:Name="Employee" Header="Adjust View"> 
        <RibbonMenuButton LargeImageSource="Images\options.png" Label="Test" KeyTip="V"> 
         <RibbonMenuItem ImageSource="Images\options.png" Header="Keep Text Only" KeyTip="T"/> 
         <RibbonMenuItem ImageSource="Images\options.png" Header="Paste Special..." KeyTip="S"/> 
        </RibbonMenuButton> 
        <RibbonCheckBox SmallImageSource="Images\options.png" Label="Sound" KeyTip="X" /> 

       </RibbonGroup> 


      </RibbonTab> 

      <!-- Ribbon Tab #2: Launch --> 
      <RibbonTab Header="Settings" KeyTip="I"> 
       <!-- Launch/Applications group--> 
       <RibbonGroup Header="Settings"> 
        <RibbonButton SmallImageSource="Images\options.png" Label="Record" KeyTip="C" /> 
       </RibbonGroup> 

      </RibbonTab> 
      <RibbonTab Header="PageLayout" KeyTip="L"> 
       <!-- Launch/Applications group--> 
      </RibbonTab> 
     </Ribbon> 
    </Grid> 
</Window> 
+0

我進不去RibbonQuickAccessToolBar的RibbonButton顯示,直到我用DockPanel中包裹 「RibbonButton」 S標籤。 – 2013-12-12 01:10:12

+0

感謝您的工作示例。 – mack 2013-12-17 18:27:59

1
<Ribbon.ApplicationMenu> 
      <RibbonApplicationMenu> 
       <RibbonApplicationMenu.AuxiliaryPaneContent> 
        <Label Content="Right panel!"></Label> 
       </RibbonApplicationMenu.AuxiliaryPaneContent> 
       <RibbonApplicationMenuItem Header="Exit" Click="ShutDown" /> 
      </RibbonApplicationMenu> 
     </Ribbon.ApplicationMenu> 

哈哈