none
Ribbon上部のクイックアクセスツールバーを非表示にしたい RRS feed

  • 質問

  • お世話になります。

    WindowsForm上にWPFのUserControlを配置した画面を開発しています。
    上記UserControl内にRibbonを配置しているのですが、
    Ribbon上部(アプリケーションメニューやタブの上)に、何も無い空間が表示されてしまいます。
    おそらくは、クイックアクセスツールバーが表示されるのかと思いますが、
    当画面ではクイックアクセスツールバーを使用致しません。
    この空間を非表示にしたいのですが、どのようにすればよろしいでしょうか?

    開発環境:Visual Studio 2013

    プロジェクト:WindowsFormアプリケーション

    言語:C#

    2016年5月26日 5:34

回答

  • 無理やり消してみる

    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Media;
    
    namespace WindowsFormsApplication1
    {
        public partial class UserControl1 : UserControl
        {
            public UserControl1()
            {
                InitializeComponent();
            }
    
            private void Ribbon_Loaded(object sender, RoutedEventArgs e)
            {
                //<Ribbon  Loaded="Ribbon_Loaded">
    
                System.Windows.Controls.Ribbon.Ribbon ribbon = (System.Windows.Controls.Ribbon.Ribbon)sender;
                var panel = ribbon.Template.FindName("PART_TitlePanel", ribbon) as System.Windows.Controls.Ribbon.Primitives.RibbonTitlePanel;
                var parentPanel = VisualTreeHelper.GetParent(panel) as Panel;
                if (parentPanel != null)
                {
                    parentPanel.Visibility = System.Windows.Visibility.Collapsed;
                }
            }
        }
    }

    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答としてマーク エネコン 2016年5月26日 10:18
    2016年5月26日 8:45

すべての返信

  • 無理やり消してみる

    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Media;
    
    namespace WindowsFormsApplication1
    {
        public partial class UserControl1 : UserControl
        {
            public UserControl1()
            {
                InitializeComponent();
            }
    
            private void Ribbon_Loaded(object sender, RoutedEventArgs e)
            {
                //<Ribbon  Loaded="Ribbon_Loaded">
    
                System.Windows.Controls.Ribbon.Ribbon ribbon = (System.Windows.Controls.Ribbon.Ribbon)sender;
                var panel = ribbon.Template.FindName("PART_TitlePanel", ribbon) as System.Windows.Controls.Ribbon.Primitives.RibbonTitlePanel;
                var parentPanel = VisualTreeHelper.GetParent(panel) as Panel;
                if (parentPanel != null)
                {
                    parentPanel.Visibility = System.Windows.Visibility.Collapsed;
                }
            }
        }
    }

    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答としてマーク エネコン 2016年5月26日 10:18
    2016年5月26日 8:45
  • 回答ありがとうございます。

    提示いただいたコードで無事解決できました。

    ありがとうございました。

    2016年5月26日 10:18