Wpf 文本框-文本居中

Wpf 文本框-文本居中,wpf,text,textbox,centering,Wpf,Text,Textbox,Centering,有没有简单的方法将文本置于文本框的中心?我在寻找一些内置函数,但什么也没找到。将文本对齐属性设置为中心: <TextBox Width="200" Text="Hello world !" TextAlignment="Center"/> VerticalContentAlignment设置文本框中文本的对齐方式您可以使用VerticalAlignment和VerticalContentAlignment组合来访问WPF文本框中的文本。 将“

有没有简单的方法将文本置于文本框的中心?我在寻找一些内置函数,但什么也没找到。

文本对齐
属性设置为
中心

<TextBox Width="200"
         Text="Hello world !"
         TextAlignment="Center"/>



VerticalContentAlignment设置文本框中文本的对齐方式

您可以使用VerticalAlignment和VerticalContentAlignment组合来访问WPF文本框中的文本。 将“内容”设置为“中心”,将“拉伸”的总高度设置为综合元素的大小(如网格行)

<TextBox VerticalAlignment="Stretch" VerticalContentAlignment="Center"> 
Test 
</TextBox>

试验

垂直对齐=“中心”和填充 您可以使用垂直对齐和填充组合来访问WPF文本框中的文本。 如垂直对齐=“中心”填充=“5” 填充会使文本字段变大并适应周围的元素


虽然为时已晚,但这可能对某些人有所帮助

尝试将这两个人添加到控件中

VerticalAlignment="Stretch" 
VerticalContentAlignment="Center"

如果您使用的是自定义控件模板,则需要将ScrollViewer(
x:Name=“PART\u ContentHost”
)更改为具有
VerticalAlignment=“Center”
。(除了在文本框本身上设置VerticalAlignment和VerticalContentAlignment,如其他答案中所述。)



谢谢您的repy,但它不起作用。然而,你给了我我遵循的路径,我在我的风格中使用了类似的东西HorizontalContentAlignment不起作用,但上面的代码起了作用。然而,另一个问题出现了。也就是说,现在如果我在文本框上单击鼠标右键,contextMenu中的文本将居中:(哦,我明白了…实际上你应该只使用TextAlignment,而不是HorizontalContentAlignment这是我所需要的!谢谢。这个答案对我不起作用,但是设置TextAlignment属性起了作用。这似乎重复了其他答案。旧问题的新答案应该提供新的有用信息。应该标记为答案
<TextBox VerticalAlignment="Stretch" VerticalContentAlignment="Center"> 
Test 
</TextBox>
<TextBox VerticalAlignment="Center" Padding="5" > 
VerticalAlignment="Stretch" 
VerticalContentAlignment="Center"
<ScrollViewer x:Name="PART_ContentHost" Focusable="false" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden" VerticalAlignment="Center"/>