Программно скрыть заголовок ленты WPF - PullRequest
2 голосов
/ 10 июня 2011

Я использую приложение ленты WPF VS2010.Каждая группа ленты имеет заголовок.Даже если я оставлю заголовок пустым, на ленте все равно останется свободное место для заголовка.Как я могу программно скрыть заголовок?

Например, у меня есть следующий 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

Ответы [ 2 ]

0 голосов
/ 07 марта 2012

Вы всегда можете создать панель стека вместо группы ленты.

0 голосов
/ 05 августа 2011

Вы можете сделать это через 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...