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


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 явно заданы или вычисляются для объекта, эти измерения более важны для типичной логики макета и могут отменить результаты установки параметра HorizontalAlignment в значение Stretch. Свойства ограничения макета (например , MaxWidth) также влияют на максимальный или минимальный размер макета для ситуации с макетом Stretch . Stretch используется по умолчанию, чтобы было проще использовать адаптивные методы макета в случаях, когда нет явного измерения. Но при наличии высоты и ширины или обрезки макет действует так, как если бы для параметра VerticalAlignment было задано значение Top, обычно слева для HorizontalAlignment (Справа для сведений о языке и региональных параметрах справа налево или явных значений FlowDirection). Дополнительные сведения см. в статье Выравнивание, поле и заполнение.

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

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

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

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

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