WPF 4.5 Microsoft's Ribbon: какой элемент управления RibbonApplicationMenu

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

Какой элемент управления используется


person MagB    schedule 08.05.2013    source источник


Ответы (3)


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>
person Guy    schedule 14.05.2013
comment
Я не мог получить метки, показанные в RibbonButton RibbonQuickAccessToolBar, пока я не обернул RibbonButtons с помощью DockPanel. - person Rabih Kodeih; 12.12.2013

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

ха-ха

person Yiping    schedule 13.07.2013

Наконец, я нашел ответ в образце браузера wpf о преимуществах инфраструктуры. Нет. №1 называется «за кулисами» (ленточный стиль 2010 года), №1. 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>
person MagB    schedule 14.05.2013