【问题标题】:How to use the same toolbar in WPF ribbon tabs?如何在 WPF 功能区选项卡中使用相同的工具栏?
【发布时间】:2012-07-14 02:27:51
【问题描述】:

我是 WPF 新手,我正在玩功能区控件。我有三个不同的功能区选项卡,如下面的代码所示。我正在使用相同的收费栏按钮。如下所示,我编写的方式似乎不是内存最佳方法。任何人都可以帮忙修改代码,以便我可以在所有功能区选项卡中使用相同的工具栏而不重复?

        <ribbon:RibbonTab x:Name="HomeTab" 
                          Header="Home">
            <ribbon:RibbonGroup x:Name="Group1" 
                                Header="">
                <ribbon:RibbonButton x:Name="Update1"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Update" />
                <ribbon:RibbonButton x:Name="Register1"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Register" />
                <ribbon:RibbonButton x:Name="Uninstall1"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Uninstall"  />
                <ribbon:RibbonButton x:Name="Invisible1"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Go invisible" Click="Invisible_Click"/>
                <ribbon:RibbonButton x:Name="Help1"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Help" />
                <ribbon:RibbonButton x:Name="Quit1"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Quit" Click="Quit_Click"/>
            </ribbon:RibbonGroup>

        </ribbon:RibbonTab>
        <ribbon:RibbonTab x:Name="LogTab" 
                          Header="Log History">
            <ribbon:RibbonGroup x:Name="Group11" 
                                Header="">
                <ribbon:RibbonButton x:Name="Update2"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Update" />

                <ribbon:RibbonButton x:Name="Regiter2"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Register" />
                <ribbon:RibbonButton x:Name="Uninstall2"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Uninstall" />
                <ribbon:RibbonButton x:Name="Invisible2"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Go invisible" Click="Invisible_Click"/>
                <ribbon:RibbonButton x:Name="Help2"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Help" />
                <ribbon:RibbonButton x:Name="Quit2"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Quit" Click="Quit_Click" />
            </ribbon:RibbonGroup>

        </ribbon:RibbonTab>
        <ribbon:RibbonTab x:Name="SettingsTab" 
                          Header="Settings">
            <ribbon:RibbonGroup x:Name="Group21" 
                                Header="">
                <ribbon:RibbonButton x:Name="Update3"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Update" />

                <ribbon:RibbonButton x:Name="Register3"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Register" />
                <ribbon:RibbonButton x:Name="Uninstall3"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Uninstall" />
                <ribbon:RibbonButton x:Name="Invisible3"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Go invisible" Click="Invisible_Click" />
                <ribbon:RibbonButton x:Name="Help3"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Help" />
                <ribbon:RibbonButton x:Name="Quit3"
                                     LargeImageSource="/T-Spy;component/Resources/favicon.ico"
                                     Label="Quit"  Click="Quit_Click"/>
            </ribbon:RibbonGroup>

        </ribbon:RibbonTab>

【问题讨论】:

    标签: wpf xaml ribbon


    【解决方案1】:

    为什么不直接创建一个基本类型为 ribbon:RibbonGroup 的 UserControl,然后根据需要将其放入每个部分?然后你有每个控件的唯一上下文,所以没有冲突。

    任何属性操作都需要使用依赖属性进行管理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多