【问题标题】:Office ribbon for WPF 4.0WPF 4.0 的 Office 功能区
【发布时间】:2011-03-04 09:26:26
【问题描述】:

有传言称 WPF 4.0 将为我们提供开箱即用的 Office 功能区。

一个新的 WPF 功能区控件将是 可在不久后下载 WPF 4 的发布。[1]

现在我的互联网和 MSDN 搜索结果都没有结果,据我所知,它将在 .NET 4.0 框架启动后发布。我的搜索将我引向 Office 插件功能区控件和 CTP,该 CTP 在 .net 4.0 发布之前预发布,具有有限的功能集。

所以我的问题是:有谁知道微软是否以及何时会发布这个带有框架的 Office 功能区?或者如果他们没有一个很好的新闻说明说他们放弃了这个项目。

另外,如果有人对我所说的 Ribbon 有经验,这个 Ribbon 是否可以在部分受信任的环境中工作?

我的感谢将永远持续! ;)

【问题讨论】:

    标签: wpf .net-4.0 ribbon


    【解决方案1】:

    这对你来说可能是旧消息,但没有选定的答案,所以你去吧:

    http://msdn.microsoft.com/en-us/library/ff799534.aspx

    您可以下载包含功能区的源代码、示例和程序集。可以在 MSDN 上的 http://msdn.microsoft.com/en-us/library/microsoft.windows.controls.ribbon.aspx 找到该文档。

    来自包含 4.0 版 RibbonControlsLibrary.dll 的项目的简单示例

    <Window x:Class="WpfRibbonApplication1.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:ribbon="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary"
            Title="MainWindow"
            x:Name="RibbonWindow"
            Width="640" Height="480">
    
        <Grid x:Name="LayoutRoot">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
    
            <ribbon:Ribbon x:Name="Ribbon" Title="Ribbon Title">
                <ribbon:Ribbon.HelpPaneContent>
                    <ribbon:RibbonButton SmallImageSource="Icon.ico" />
                </ribbon:Ribbon.HelpPaneContent>
                <ribbon:Ribbon.QuickAccessToolBar>
                    <ribbon:RibbonQuickAccessToolBar >
                        <ribbon:RibbonButton x:Name="QATButton1" 
                                             SmallImageSource="Icon.ico" />
                        <ribbon:RibbonButton x:Name="QATButton2" 
                                             SmallImageSource="Icon.ico" />
                    </ribbon:RibbonQuickAccessToolBar>
                </ribbon:Ribbon.QuickAccessToolBar>
                <ribbon:Ribbon.ApplicationMenu>
                    <ribbon:RibbonApplicationMenu SmallImageSource="Icon.ico">
                        <ribbon:RibbonApplicationMenuItem Header="Hello _Ribbon"
                                                          x:Name="MenuItem1"
                                                          ImageSource="Icon.ico"/>
                    </ribbon:RibbonApplicationMenu>
                </ribbon:Ribbon.ApplicationMenu>
                <ribbon:RibbonTab x:Name="HomeTab" 
                                  Header="Home">
                    <ribbon:RibbonGroup x:Name="Group1" 
                                        Header="Group1">
                        <ribbon:RibbonButton x:Name="Button1"
                                             LargeImageSource="Icon.ico"
                                             Label="Button1" />
                        <ribbon:RibbonButton x:Name="Button2"
                                             SmallImageSource="Icon.ico"
                                             Label="Button2" />
                        <ribbon:RibbonButton x:Name="Button3"
                                             SmallImageSource="Icon.ico"
                                             Label="Button3" />
                        <ribbon:RibbonButton x:Name="Button4"
                                             SmallImageSource="Icon.ico"
                                             Label="Button4" />
                    </ribbon:RibbonGroup>
                </ribbon:RibbonTab>
            </ribbon:Ribbon>
        </Grid>
    </Window>
    

    生成如下所示的内容:

    【讨论】:

    • 很好.. 不过我们最终还是选择了第三方控件 :) 看看这个功能区的下载页面日期,它似乎是在我寻找它 4 个月后出现的......跨度>
    【解决方案2】:

    除非他们犯了大错,否则它应该在部分信任下工作:)。部分信任中不允许的事情是:

    • 直接连接到 SQL
    • 反射
    • 其他一些事情

    不应该在 UserControl 中做那种事情(即使它有点花哨......)

    【讨论】:

    • 是的,其中“很少有其他东西”是位图效果,比如投影……猜猜这些可能会用在哪里:)
    • 没错,但我相信那些应该从功能区中重构为 4.0,但正如我所说 - 等待 Microsoft 实施,这总是很好的干净的家庭娱乐:) 编辑:手头的最佳链接: blog.actiprosoftware.com/post/2010/03/31/…
    • "所有外发光不再使用位图效果,微软在 .NET 4.0 中不支持。WPF Studio 2010.1 将其最低要求移至 .NET 3.5 SP1。我们利用了 .NET 3.5 SP1 的着色器效果现在可以实现外发光。”似乎确实少了一个需要担心的问题..仍然不知道它何时或是否会发布.. :(
    【解决方案3】:

    你见过WPF 3.5 ribbon吗?

    【讨论】:

    • 是的..这就是我所说的预发布版本之一 :) 我可以在 codeplex 上找到,但我还没有找到官方的 Microsoft MSDN 下载很棒的功能区链接..
    猜你喜欢
    • 2011-03-27
    • 1970-01-01
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    • 2013-08-08
    相关资源
    最近更新 更多