2016-01-13 27 views
1

我想在包装文本的中间显示一个带有TextBox控件的简短句子,用户应输入一个值。我不知道这是否是一个好主意:在TextBlock中对齐文本框

<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呢?

回答

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> 
+0

完美,谢谢。 – ygoe