我正在使用 VS2010 的 WPF 功能区应用程序。每个 RibbonGroup 都有一个 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# 代码隐藏解决方案,我可以隐藏文本和标题占用的空间(高度),如下所示:
// of course, this doesn't work
HelpTab.HeaderStyle.Visibility = Visibility.Hide
最佳答案
您可以通过 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;
关于c# - 以编程方式隐藏 WPF 功能区标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6301850/