FrameworkElement.VerticalAlignment Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает характеристики вертикального выравнивания, применяемые к FrameworkElement , когда он состоит в родительском объекте, например панели или элемента управления элементами.
public:
property VerticalAlignment VerticalAlignment { VerticalAlignment get(); void set(VerticalAlignment value); };
VerticalAlignment VerticalAlignment();
void VerticalAlignment(VerticalAlignment value);
public VerticalAlignment VerticalAlignment { get; set; }
var verticalAlignment = frameworkElement.verticalAlignment;
frameworkElement.verticalAlignment = verticalAlignment;
Public Property VerticalAlignment As VerticalAlignment
<frameworkElement VerticalAlignment="verticalAlignmentMemberName"/>
Значение свойства
Параметр вертикального выравнивания в качестве значения перечисления. Значение по умолчанию — Stretch.
Примеры
В этом примере значение Center назначается ГоризонтальнойAlignment и VerticalAlignment размещает элементы TextBlock в центре ячеек Сетки .
<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 или производным классом Панели или, возможно, выступающим). Настройка свойств выравнивания для дочернего элемента не гарантирует, что все происходит; Поведение зависит от композиции макета и родительских элементов.
Если свойства высоты и ширины явно заданы или вычисляются для объекта, эти измерения более важны для типичной логики макета и могут отменять эффекты параметра VerticalAlignmentStretch. Свойства ограничения макета (например , MaxHeight) также влияют на максимальный или минимальный размер макета для ситуации макета Stretch .
Stretch — это значение по умолчанию, чтобы было проще использовать методы адаптивного макета в тех случаях, когда явного измерения нет. Но если есть Height или Width вырезка, макет действует так, как если значение имеет значение TopVerticalAlignment, как правило Left , для HorizontalAlignment (Right для сведений о региональных параметрах справа налево или явных значений FlowDirection ). Дополнительные сведения см. в разделе Выравнивание, отступы и заполнение.
Холст не используется VerticalAlignment при создании макета, так как Canvas основан на абсолютном расположении. Как правило, значение VerticalAlignment потенциально обрабатывается по-разному любым объектом, способным иметь один или несколько объектов FrameworkElement в качестве дочернего содержимого. Каждый такой родительский объект может иметь собственную логику макета.
Каждый элемент пользовательского интерфейса XAML может применять это свойство по-разному на основе наборов стилей для неявного стиля. Очевидное значение по умолчанию для VerticalAlignment каждого элемента пользовательского интерфейса может отличаться. Например, элемент управления Button начинается со значения Center. Если элемент пользовательского интерфейса является элементом управления, VerticalAlignment это значение также может повлиять на визуальный шаблон элемента управления.
В элементах управления содержимым шаблон элемента управления часто использует выражения расширения разметки {TemplateBinding} для привязки свойства VerticalContentAlignment к VerticalAlignment свойству в определенном элементе в шаблоне, например выступающим или элементом, используемым в качестве области содержимого.