WPF:Textblock作为ComboBox中的项目:如何垂直居中Textblock的文本?

时间:2015-06-24 08:54:09

标签: wpf combobox vertical-alignment textblock

我使用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>

以下是截图:

enter image description here

2 个答案:

答案 0 :(得分:1)

的text-align =&#34;中心&#34; 或者你可以在每一方都使用保证金。

答案 1 :(得分:1)

TextBlock不应该有高度,而应该改为容器。如果要设置TextBlock的背景颜色,请将TextBlock包装在Border或Grid中,然后在它们上设置高度。

<Grid Height="50>
     <TextBlock VerticalAlignment="Center" Text....../>
</Grid>