2013-05-08 2 views
3

Я использую Microsoft Ribbon WPF 4.5 и разрабатываю приложение с использованием VS2012 (C#) на машине Win 8. Я хочу, чтобы мое приложение отображало RibbonApplicationMenu как «Файл» -меню Office Word 2010, но я не могу узнать, какой из них используется для управления (см. Прикрепленный снимок экрана, красные отмеченные контрольные номера 1 и 2). Я также попробовал RibbonApplicationSplitMenuItem, но больше похож на офис старого стиля. Может, кто-нибудь может мне сказать. Заранее спасибо.WPF 4.5 Лента Microsoft: какой контроль над RibbonApplicationMenu

Which control is used

ответ

0

Наконец-то я нашел ответ в МОФ образца браузера Infragistics NetAdvantage. Нет. 1 называется «за кулисами» (стиль ленты 2010), нет. 2 является «пунктом меню приложения». (на мой взгляд) Лента с лентой infragistics проще в использовании, чем Microsoft, поскольку я не могу найти учебное пособие по созданию за кулисами (стиль ленты 2010); существующие учебники в основном используют старую ленту (стиль 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

я не мог получить метки, показанные в RibbonButton из RibbonQuickAccessToolBar, пока я не завернул "RibbonButton" s с DockPanel. –

+0

Спасибо за рабочий пример. – mack

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

хаха

Смежные вопросы