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
используется по умолчанию, чтобы было проще использовать адаптивные методы макета в случаях, когда нет явного измерения. Но если есть высота иширина или обрезка, макет действует так, как если бы значение равно Top
VerticalAlignment, как правило Left
, для HorizontalAlignment
(Right
для сведений о языке и региональных параметрах справа налево или явных значений FlowDirection ). Дополнительные сведения см. в статье Выравнивание, поле и заполнение.
Canvas не используется HorizontalAlignment
при создании макета, так как Canvas основан на абсолютном расположении. Как правило, любой объект, способный иметь один или несколько объектов FrameworkElement в качестве дочернего HorizontalAlignment
содержимого, потенциально обрабатывается по-разному. Каждый такой родительский объект может иметь собственную логику макета.
Каждый элемент пользовательского интерфейса XAML может применять это свойство по-разному в зависимости от наборов стилей для неявного стиля. Очевидное "значение по умолчанию" для HorizontalAlignment
в каждом элементе пользовательского интерфейса может быть разным. Например, элемент управления Кнопка начинается со значения Left
. Если элемент пользовательского интерфейса является элементом управления, HorizontalAlignment
значение также может повлиять на визуальный шаблон элемента управления.
В элементах управления содержимым шаблон элемента управления часто использует выражения расширения разметки {TemplateBinding} , чтобы привязать свойство HorizontalContentAlignment к HorizontalAlignment
свойству какого-либо элемента в шаблоне, например выступающего или элемента, используемого в качестве области содержимого.