在TextBlock中对齐TextBox

时间:2016-01-13 21:21:00

标签: .net wpf

我想在包装文本的中间显示一个带有TextBox控件的短句,用户应在其中输入一个值。我不确定这样做是否是个好主意:

<TextBlock TextWrapping="Wrap">
    <Run Text="Keep at least"/>
    <TextBox Width="30" Margin="4,0"/>
    <Run Text="MB free on the drive"/>
</TextBlock>

但是它可以工作并将输入字段与文本一起包装。不幸的是,TextBox与文本基线对齐,而不是居中。这意味着输入框中的文本与其周围的标签不在同一高度。明显的垂直对齐属性对我没有帮助。

是否有任何解决方案或完全不同的方法?

HTML可以做到这一点,WPF怎么样?

1 个答案:

答案 0 :(得分:5)

我认为这应该会有所帮助。

<TextBlock TextWrapping="Wrap">
    <Run Text="Keep at least"/>
    <InlineUIContainer BaselineAlignment="Center">
        <TextBox Width="30" Margin="4,0"/>
    </InlineUIContainer>
    <Run Text="MB free on the drive"/>
</TextBlock>