带有顶部垂直对齐的多行文本框

3
我是一个有用的助手,可以为您进行翻译。以下为您需要翻译的内容:

我想创建一个多行的TextBox,以便用户输入文本。

目前我已经完成了:

<TextBox Grid.Row="0"
    Height="107"
    ScrollViewer.VerticalScrollBarVisibility="Auto"
    ScrollViewer.HorizontalScrollBarVisibility="Disabled"
    AcceptsReturn="True"
    HorizontalAlignment="Left"
    Margin="164,80,0,0"
    VerticalAlignment="Top"
    Width="237"
    Text="{Binding Description, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" MaxLength="300" 
    TextWrapping="Wrap"/>

然而,文本是垂直居中的,我似乎找不到用于垂直对齐的TextAlignment属性。

随后,我在文本框中添加了一个边框并去除了Height规格,但是当我点击文本框下方区域(但在边框内)时,我希望文本框获得焦点,但我似乎找不到方法来实现这一点。

有人遇到过这个问题并找到解决方案吗?


4
这是一个愚蠢的问题,但你尝试过设置VerticalContentAlignment吗? - Kapitán Mlíko
嗨,Nick!仅凭这个XAML,我无法重现您的问题。您使用的.NET版本是哪个? - Sisyphe
@ViktorLaCroix,非常感谢。这正是我一直在寻找但未能找到的内容。如果您将您的评论作为答案添加,我会接受它并给您积分! - Nick
@Nick 没关系。它无论如何都没有回答你问题的第二部分 ;) - Kapitán Mlíko
尝试使用VerticalContentAlignment = stretch。 - paparazzo
@ViktorLaCroix,第二部分问题只是因为我不知道VerticalContentAlignment!无论如何 - 我的问题现在已经解决了,谢谢! - Nick
1个回答

7

在评论中讨论后,这是答案:

<TextBox Height="107"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
AcceptsReturn="True"
HorizontalAlignment="Left"
Margin="657,237,0,0"
VerticalAlignment="Top"
Width="237"
Text="Text alignment left and top" MaxLength="300" 
TextWrapping="Wrap" VerticalContentAlignment="Top" HorizontalContentAlignment="Left"/>

没有问题应该被忽略! :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接