C# WPF 4.5 RibbonWindow

WPF  RibbonWindow  , Z .Net4.5里有自带的RibbonWindow,需要引用 System.Windows.Controls.Ribbon.dll

题外话:自带的RibbonWindow  在不同系统表现不一致,比如颜色和对齐等。适合小白用来快速美化UI。但失去的自定义的灵活性,WPF本身支持各种样式 style

<RibbonWindow  x:Class="DBTest.RibbonWindowTest"
        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:shell="clr-namespace:System.Windows.Shell;assembly=PresentationFramework"
        xmlns:local="clr-namespace:DBTest"
        mc:Ignorable="d" FontSize="15"
        Title="SWMM TEST Ribbon Window App" 
        WindowStartupLocation="CenterScreen"
        Height="646" Width="1235">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>

        <Ribbon Grid.Row="0" FontSize="14">
            <Ribbon.Background>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#FF2972F1" Offset="0"/>
                    <GradientStop Color="White" Offset="1"/>
                </LinearGradientBrush>
            </Ribbon.Background>
            <!--Ribbon Quick Access Toolbar-->
            <Ribbon.QuickAccessToolBar>
                <RibbonQuickAccessToolBar>
                    <RibbonButton SmallImageSource="ResourcesImagesSave_30px.png" Content="fffddd" />
                    <RibbonSplitButton SmallImageSource="ResourcesImagesUndo_30px.png">
                        <RibbonSplitMenuItem Header="Undo1" />
                        <RibbonSplitMenuItem Header="Undo2" />
                        <RibbonSplitMenuItem Header="Undo3" />
                    </RibbonSplitButton>
                    <RibbonSplitButton SmallImageSource="ResourcesImagesRedo_30px.png">
                        <RibbonSplitMenuItem Header="Redo1" />
                        <RibbonSplitMenuItem Header="Redo2" />
                        <RibbonSplitMenuItem Header="Redo3" />
                    </RibbonSplitButton>
                </RibbonQuickAccessToolBar>
            </Ribbon.QuickAccessToolBar>

            <!--Ribbon Help Pane Content-->
            <Ribbon.HelpPaneContent>
                <RibbonButton SmallImageSource="ResourcesImagesHelp_30px.png" />
            </Ribbon.HelpPaneContent>

            <!--Ribbon Application Menu-->
            <Ribbon.ApplicationMenu>
                <RibbonApplicationMenu KeyTip="F">
                    <RibbonApplicationMenuItem Header="Save" Width="150" ImageSource="ResourcesImagesSave_30px.png"/>
                    <RibbonApplicationMenuItem Header="Options" ImageSource="ResourcesImagesSettings_30px.png" />
                </RibbonApplicationMenu>
            </Ribbon.ApplicationMenu>

            <!--Ribbon Tab #1 Home-->
            <RibbonTab Header="Home" KeyTip="H">
                <RibbonGroup Header="Home">
                    <RibbonMenuButton LargeImageSource="ResourcesImagesPaste_30px.png" Label="Paste" KeyTip="V">
                        <RibbonMenuItem Header="Keep Text Only" />
                        <RibbonMenuItem Header="Keep Source Format" />
                    </RibbonMenuButton>

                    <RibbonButton SmallImageSource="ResourcesImagesUndo_30px.png" Label="Copy" />
                    <RibbonButton SmallImageSource="ResourcesImagesRedo_30px.png" Label="Format" />
                    
                </RibbonGroup>

                <RibbonGroup Header="Operation">
                    <RibbonMenuButton LargeImageSource="ResourcesImagesDelete_30px.png" Label="Delete" />
                    <RibbonMenuButton SmallImageSource="ResourcesImagesSave_30px.png" Label="Save" />
                    <RibbonMenuButton SmallImageSource="ResourcesImagesPrint_30px.png" Label="Print" />
                </RibbonGroup>
                <RibbonGroup Header="Operation">
                   
                        <RibbonTextBox  Label="Save:" Name="txt" />
                        <RibbonComboBox />
               
                </RibbonGroup>
            </RibbonTab>

            <RibbonTab Header="View" KeyTip="V">

            </RibbonTab>

            <RibbonTab Background="Red" Header="Help">

            </RibbonTab>
        </Ribbon>
        <Label Content="hello Swim Meet Manager" FontSize="34" Foreground="Blue"  Margin="40,47,30,0" Grid.Row="1" VerticalAlignment="Top" Height="71"/>
    </Grid>
</RibbonWindow>

  

原文地址:https://www.cnblogs.com/wgscd/p/11208763.html