簡體   English   中英

以編程方式隱藏 WPF 功能區 Header

[英]Programmatically hide WPF Ribbon Header

我正在使用 VS2010 的 WPF 功能區應用程序。 每個 RibbonGroup 都有一個 Header。 即使我將 Header 留空,功能區仍會為 Header 保留一個空白空間。 如何以編程方式隱藏 header?

例如,我有以下 Xaml:

<ribbon:RibbonTab x:Name="HelpTab"
                    Header="Help" FontSize="10">
    <ribbon:RibbonGroup x:Name="HelpGroup"
                        Header="Help Group" FontFamily="Verdana" FontWeight="Bold">
             <!-- ..... -->
        </ribbon:RibbonButton>
    </ribbon:RibbonGroup>
</ribbon:RibbonTab>
</ribbon:Ribbon>

我想以編程方式隱藏由紅色矩形標記的部分(標題文本和高度空間)。

在此處輸入圖像描述

我正在尋找解決方案后面的 C# 代碼,我可以在其中隱藏文本和 header 占用的空間(高度),如下所示:

// of course, this doesn't work    
HelpTab.HeaderStyle.Visibility = Visibility.Hide

您可以通過VisualTreeHelper來完成。 只需 go 將行MinHeight設置為 0:

private void RibbonLoaded(object sender, RoutedEventArgs e)
{
  DependencyObject groupBorder = VisualTreeHelper.GetChild(Foobar, 0);
  Grid groupMainGrid = VisualTreeHelper.GetChild(groupBorder , 0) as Grid;
  if (groupMainGrid != null)
  {
    groupMainGrid.RowDefinitions[2].MinHeight = 0;
  }
} 

這是假設您沒有設置Header屬性。 行的高度默認設置為Auto 所以如果你設置了Header屬性,你不妨把Height設置為 0:

groupMainGrid.RowDefinitions[2].Height = 0;

您始終可以創建堆棧面板而不是功能區組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM