Выравнивание позиции заголовка WPF Groupbox - PullRequest
8 голосов
/ 20 января 2010

Можно ли установить выравнивание положения для GroupBox Header в WPF? По умолчанию это место в верхнем левом углу контура GroupBox, но я бы хотел, чтобы он был в центре вверху. Я знаю, что вы можете установить свойства текста с помощью:

<GroupBox Grid.Row="1" HorizontalAlignment="Center">
   <GroupBox.Header> 
      <TextBlock Text="Cash Match" Foreground="Black" FontWeight="Bold"/>
   </GroupBox.Header>
</GroupBox>

Но я пытаюсь установить его положение относительно контура GroupBox.

Ответы [ 2 ]

13 голосов
/ 21 января 2010

Это просто! Просто отредактируйте шаблон GroupBox:

В Blend выполните следующие действия:

  • Щелкните правой кнопкой мыши GroupBox> Изменить шаблон> Изменить копию> OK
  • Искать в следующем разделе:

    <Border x:Name="Header" Padding="3,1,3,0" 
            Grid.Column="1" Grid.Row="0" Grid.RowSpan="2">
        ...
    </Border>
    
  • Изменить Grid.Column на 2

  • Также установите HorizontalAlignment="Right"

Вы только что выровняли заголовок вправо !!! Но бот белый разрыв позади него. Для этого

  • Теперь ищем следующий раздел:

    <Border BorderBrush="White" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="4" Grid.ColumnSpan="4" Grid.Row="1" Grid.RowSpan="3">
        <Border.OpacityMask>
            ...
        </Border.OpacityMask>
        ...
    </Border>
    
  • Добавить RenderTransformOrigin="0.5,0.5" к границе

  • Чуть выше, добавьте следующий код (это сместит «пробел» за заголовком вправо:

    <Border.RenderTransform>
        <ScaleTransform ScaleX="-1"/>
    </Border.RenderTransform>
    

Вы сделали! Вы только что получили GroupBox с выровненным по правому краю заголовком !!!

Пожалуйста, скажите мне, если это то, что вам нужно.

2 голосов
/ 20 января 2010

Изменение расположения заголовка группового блока приведет к тому, что элементы управления не будут соответствовать ОС.

Поэтому, я думаю, вы не сможете изменить это, используя стили по умолчанию. Пользовательский шаблон решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...