我使用WPF 4.5,Caliburn Micro 2,VS2013。我使用TextBlock作为ComboBox中的项目。
ComboBox的高度为80。
TextBlock的高度为50。
TextBlock中文本的字体大小是标准的。
我的以下示例xaml代码可以正常工作,但它显示的文本不是在TextBlock中垂直居中。 如何使文本垂直居中/不将TextBlock的高度更改为自动?提前谢谢。
<ComboBox Width="150"
Height="80"
VerticalContentAlignment="Center"
ItemsSource="{Binding Path=Locations}"
SelectedIndex="0"
SelectedItem="{Binding Path=SelectedLocation,
Mode=OneWayToSource}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Height="50"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
Background="Aquamarine"
Text="{Binding Path=Address}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
以下是截图:
答案 0 :(得分:1)
的text-align =&#34;中心&#34; 或者你可以在每一方都使用保证金。
答案 1 :(得分:1)
TextBlock不应该有高度,而应该改为容器。如果要设置TextBlock的背景颜色,请将TextBlock包装在Border或Grid中,然后在它们上设置高度。
像
<Grid Height="50>
<TextBlock VerticalAlignment="Center" Text....../>
</Grid>