如何在WPF

时间:2015-09-15 20:30:45

标签: wpf ribbon

我尝试引用System.Windows.Controls.Ribbon,工具箱标签未显示。如果我右键单击选项卡并单击全部显示,则选项卡就在那里,但控件不亮。我可以手动添加选项卡和控件,但在添加功能区后,quickaccesstoolbarmenuitem等功能无法正常工作 - 出于某种原因,它们会被视为制表符。对照组也不起作用。 根本没有任何作用。

我尝试过直接编辑XAML。它的失败方式与使用设计器的方式相同。

在线教程要么已过时,要么是付费控制套件,要么就是不能工作。

我不想使用像http://www.codeproject.com/Articles/364272/Easily-Add-a-Ribbon-into-a-WinForms-Application-Cs这样的标记解决方案,我想要一些适用于设计师的东西 - 这太难以问了吗?如果是这样,我很乐意回到winforms。

如果你使用缎带,你是怎么做到的?这个问题看似简单,但经过几个小时的挖掘,我仍然没有答案。

我是一名开发人员,制作开源免费软件。作为一名学生,我真的无法负担1000美元的控制套件。我使用VS2013社区,我尝试使用2015,但上面的所有问题都是一样的。

2 个答案:

答案 0 :(得分:8)

添加此引用 reference

和xaml文件中的此命名空间 enter image description here

并尝试使用此代码示例:

 <DockPanel>
    <Ribbon DockPanel.Dock="Top" Margin="0,-22,0,0">  
        <Ribbon.ApplicationMenu>
            <RibbonApplicationMenu SmallImageSource="Images/list.png">

                <RibbonApplicationMenu.AuxiliaryPaneContent>
                    <RibbonGallery ScrollViewer.VerticalScrollBarVisibility="Auto">
                        <RibbonGalleryCategory MaxColumnCount="1">
                            <RibbonGalleryItem x:Name="GalleryItem1" Content="Application menu content" 
                                MouseOverBackground="Transparent"
                                MouseOverBorderBrush="Transparent"
                                CheckedBackground="Transparent"
                                CheckedBorderBrush="Transparent"
                                               />
                            <RibbonGalleryItem>
                                <Hyperlink x:Name="hl1" Click="hl1_Click">
                                    <Run Text="http://www.bing.com"/>
                                </Hyperlink>
                            </RibbonGalleryItem>
                        </RibbonGalleryCategory>
                    </RibbonGallery>
                </RibbonApplicationMenu.AuxiliaryPaneContent>
                <RibbonApplicationMenuItem x:Name="menuItem1" Header="Add" ImageSource="Images/add.png"/>
                <RibbonApplicationMenuItem x:Name="menuItem2" Header="Settings"
                                           ImageSource="Images/system_preferences.png"/>

            </RibbonApplicationMenu>
        </Ribbon.ApplicationMenu>

        <RibbonTab x:Name="rbnTab1" Header="Tab1">
            <RibbonGroup x:Name="rbnGr1" Header="General">
                <RibbonButton x:Name="btnRibbon1" Label="Save" LargeImageSource="Images/filesave.png"/>
                <RibbonButton x:Name="btnRibbon2" Label="Open" LargeImageSource="Images/load.png"/>
            </RibbonGroup>
            <RibbonGroup x:Name="rbnGr2" Header="New group">
                <RibbonButton x:Name="btnRibbon3" Label="Font" LargeImageSource="Images/fonts.png"/>
                <RibbonButton x:Name="btnRibbon4" Label="Delete" LargeImageSource="Images/recycle_bin.png"/>
            </RibbonGroup>
        </RibbonTab>
        <RibbonTab x:Name="rbnTab2" Header="Tab2">
            <RibbonGroup x:Name="rbnGr3" Header="Other Group">
                <RibbonButton x:Name="btnRibbon5" Label="Play" LargeImageSource="Images/play.png"/>
                <RibbonButton x:Name="btnRibbon6" Label="List" LargeImageSource="Images/kmenuedit.png"/>
            </RibbonGroup>
            <RibbonGroup x:Name="rbnGr4" Header="What a group">
                <RibbonButton x:Name="btnRibbon7" Label="Sleep" LargeImageSource="Images/icon_sleep.png"/>
                <RibbonButton x:Name="btnRibbon8" Label="Add" LargeImageSource="Images/add.png"/>
            </RibbonGroup>
        </RibbonTab>
    </Ribbon>

    <Grid>
        <!-- add your content here-->

    </Grid>
</DockPanel>

如果您不喜欢此<Ribbon.ApplicationMenu>

,则可以删除Visibility="Collapsed"
<Ribbon.ApplicationMenu>
            <RibbonApplicationMenu Visibility="Collapsed">
            </RibbonApplicationMenu>
        </Ribbon.ApplicationMenu>

答案 1 :(得分:2)

请查看以下内容。您应该能够对Ribbon有一个非常基本的想法。

http://blogs.msdn.com/b/wpf/archive/2010/08/03/introducing-microsoft-ribbon-for-wpf.aspx

示例项目下载

如果要运行项目,则需要将项目的.NET Framework版本更改为4.0或更高版本。

将System.Window.Controls.Ribbon引用添加到项目

删除像System.Window.Shell和RibbonControlLibrary

这样的引用

在修复xmal中的所有命名空间和代码隐藏后,应该能够运行示例.cs

http://blogs.msdn.com/b/wpf/archive/2010/08/03/building-a-simple-ribbon-application-in-wpf.aspx

适用于WPF的Microsoft功能区(获取带样本的内容以获取更全面的示例) http://www.microsoft.com/en-us/download/details.aspx?id=11877