[英]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.