2010-01-20 6 views
7

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

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

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

ответ

12

Это просто! Просто редактировать Шаблон GroupBox:

В Blend, сделайте следующее:

  • правой кнопкой мыши GroupBox> Edit Template> Редактировать Копировать> 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 с правильным выровненным заголовком !!!

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

+0

Спасибо! Я надеялся, что это свойство, которое я забыл, но это подошло к работе. – ambog36

+1

Нет проблем! Но если этот ответ решает вашу проблему, отметьте его как принятый, чтобы другие, столкнувшиеся с подобной проблемой, могли положиться на него. – mg007

2

Изменение заголовка группового заголовка приведет к управлению, не совместимому с ОС.

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

Смежные вопросы