2011-06-10 28 views
1

我正在使用VS2010的WPF功能區應用程序。每個RibbonGroup都有一個Header。即使如果我將標題留空,功能區仍會爲標題預留空白區域。我怎樣才能以編程方式隱藏標題?以編程方式隱藏WPF功能區標題

舉例來說,我下面的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> 

我想以編程方式隱藏用紅色框標註的部分(標題文本和高度空間)。

enter image description here

我在尋找背後的解決方案,我可以隱藏的文本和空間(高度)的標題佔據了一起一個C#代碼,一些諸如如下:

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

我正在尋找除黑客以外的解決方案 - 例如使用餘量隱藏它.. – KMC 2011-06-12 09:39:23

回答

0

你可以通過VisualTreeHelper來完成。剛去行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; 
0

您可以隨時創建堆棧面板,而不是功能區組。

相關問題