我在Windows手机上的c#中这样做。我希望TextBlock在StackPanel中垂直居中对齐,高度为58.这就是我所做的:
<StackPanel Height="58" VerticalAlignment="Center">
<TextBlock Text="{Binding Name}" Style="{StaticResource SubheaderTextBlockStyle}" Foreground="black" />
</StackPanel>
但它没有垂直居中对齐。你能告诉我为什么以及如何解决这个问题?
谢谢。
答案 0 :(得分:2)
我猜你应该选择Grid
而不是StackPanel
作为@ The-First-Tiger&amp; @Krishna上面提到过,你也错放了VerticalAlignment
?您希望TextBlock
垂直对齐,因此它应该是这样的:
<Grid Height="58" >
<TextBlock VerticalAlignment="Center" Text="{Binding Name}" Foreground="black" />
</Grid
答案 1 :(得分:0)
StackPanel
不适用于此。它堆叠&#39;事情没有对齐它们。
尝试使用Grid
代替:
<Grid Height="58">
<TextBlock Text="{Binding Name}" Height="20" Foreground="black"/>
</Grid>
答案 2 :(得分:0)
StackPanel将子元素排列成可以定向的单行 水平或垂直。
因此,在您的情况下,StackPanel不是正确的控件。如果您希望将控件固定在特定位置,可以使用DockPanel并将控件放在其中。 DockPanel的Children控件可以使用select
属性来对齐
.Dock