Поделиться через


FrameworkElement.HorizontalAlignment Свойство

Определение

Возвращает или задает характеристики горизонтального выравнивания, применяемые к Объекту FrameworkElement при его создании в родительском элементе макета, например панели или элемента управления элементами.

public:
 property HorizontalAlignment HorizontalAlignment { HorizontalAlignment get(); void set(HorizontalAlignment value); };
HorizontalAlignment HorizontalAlignment();

void HorizontalAlignment(HorizontalAlignment value);
public HorizontalAlignment HorizontalAlignment { get; set; }
var horizontalAlignment = frameworkElement.horizontalAlignment;
frameworkElement.horizontalAlignment = horizontalAlignment;
Public Property HorizontalAlignment As HorizontalAlignment
<frameworkElement HorizontalAlignment="horizontalAlignmentMemberName"/>

Значение свойства

Параметр горизонтального выравнивания как значение перечисления. Значение по умолчанию — Stretch.

Примеры

В этом примере значение Center присваивается HorizontalAlignment и VerticalAlignment, чтобы разместить элементы TextBlock в центре ячеек Grid .

<Grid x:Name="LayoutRoot" Background="Coral" Width="300" Height="100">
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
    </Grid.RowDefinitions>
    <TextBlock Grid.Column="0" Grid.Row="0" Text="First Name" 
        HorizontalAlignment="Center" VerticalAlignment="Center" />
    <TextBlock Grid.Column="0" Grid.Row="1" Text="Last Name" 
        HorizontalAlignment="Center" VerticalAlignment="Center" />
    <TextBox Grid.Column="1" Grid.Row="0" />
    <TextBox Grid.Column="1" Grid.Row="1" />

</Grid>

Комментарии

Свойства выравнивания предназначены для указания нужного макета для контейнера адаптивного макета. Они обычно задаются в дочерних элементах FrameworkElement и интерпретируются другим родительским объектом контейнера FrameworkElement (обычно это производный класс ContentControl или класс, производный от Panel , или, возможно, выступающий). Установка свойств выравнивания для дочернего элемента не гарантирует, что что-либо произойдет; поведение зависит от композиции макета и участвующих родительских элементов.

Если свойства Height и Width явно заданы или вычисляются для объекта, эти измерения более важны для типичной логики макета и могут отменить эффекты установки значения HorizontalAlignmentStretch. Свойства ограничения макета (например , MaxWidth) также влияют на максимальный или минимальный размер макета для ситуации макета Stretch . Stretch используется по умолчанию, чтобы было проще использовать адаптивные методы макета в случаях, когда нет явного измерения. Но если есть высота иширина или обрезка, макет действует так, как если бы значение равно TopVerticalAlignment, как правило Left , для HorizontalAlignment (Right для сведений о языке и региональных параметрах справа налево или явных значений FlowDirection ). Дополнительные сведения см. в статье Выравнивание, поле и заполнение.

Canvas не используется HorizontalAlignment при создании макета, так как Canvas основан на абсолютном расположении. Как правило, любой объект, способный иметь один или несколько объектов FrameworkElement в качестве дочернего HorizontalAlignment содержимого, потенциально обрабатывается по-разному. Каждый такой родительский объект может иметь собственную логику макета.

Каждый элемент пользовательского интерфейса XAML может применять это свойство по-разному в зависимости от наборов стилей для неявного стиля. Очевидное "значение по умолчанию" для HorizontalAlignment в каждом элементе пользовательского интерфейса может быть разным. Например, элемент управления Кнопка начинается со значения Left. Если элемент пользовательского интерфейса является элементом управления, HorizontalAlignment значение также может повлиять на визуальный шаблон элемента управления.

В элементах управления содержимым шаблон элемента управления часто использует выражения расширения разметки {TemplateBinding} , чтобы привязать свойство HorizontalContentAlignment к HorizontalAlignment свойству какого-либо элемента в шаблоне, например выступающего или элемента, используемого в качестве области содержимого.

Применяется к

См. также раздел