目前,一些示例代码可能是这样的:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Button Content="Click me" Name="MainButton" Click="MainButton_Click" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center" />
<TextBlock Name="CounterBlock" Text="Count: 0" Grid.Row="1" Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
我正在寻找一种为内容设置默认单元格对齐的方法,因此我不必为每个单元格指定HorizontalAlignment
和VerticalAlignment
:
<Grid DefaultHorizontalAlignment="Center" DefaultVerticalAlignment="Center">
...
</Grid>
甚至:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" DefaultHorizontalAlignment="Center" />
<RowDefinition Height="*" DefaultHorizontalAlignment="Center" />
</Grid.RowDefinitions>
</Grid>
我错过了什么,或者这不是一个简单的过程吗?谢谢!
答案 0 :(得分:1)
网格级别没有类似ContentAlignment的属性。您可以为子元素设置样式。 你可以将它添加到网格。
<Grid.Resources>
<Style x:Key="alignmentStyle" TargetType="{x:Type FrameworkElement}">
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
<Style TargetType="Button" BasedOn="{StaticResource alignmentStyle}"/>
<Style TargetType="TextBlock" BasedOn="{StaticResource alignmentStyle}"/>
</Grid.Resources>
如上所述,我们必须为每种类型明确设置Style,因为仅像FrameworkElement这样的基类型的设置不起作用。
如果你只有很少的元素,这可能不是很有帮助。或者你有很多元素,几乎各有不同的类型。