【问题标题】:A Multi-Line TextBox with Top Vertical Alignment顶部垂直对齐的多行文本框
【发布时间】:2019-03-05 22:47:30
【问题描述】:

我正在尝试创建一个多行 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 规范,但是当我单击文本框下方的区域(但在边框内)时,我希望文本框获得焦点,但我似乎无法想办法做到这一点。

以前有没有人遇到过这个问题并找到了解决方案?

【问题讨论】:

  • 这是个愚蠢的问题,但是您是否尝试过设置 VerticalContentAlignment?
  • 嗨尼克!仅使用此 xaml,我无法重现您的问题。您使用的是哪个版本的 .NET?
  • @ViktorLaCroix,非常感谢。这正是我一直在寻找但未能找到的东西。如果您添加您的评论作为答案,我会接受它给您积分!
  • @Nick 没关系。无论如何它都不能回答你问题的第二部分;)
  • 试试 VerticalContentAlignment = 拉伸

标签: c# .net wpf xaml textbox


【解决方案1】:

所以在 cmets 讨论之后。这就是答案:

<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"/>

任何问题都不应悬而未决! :)

【讨论】:

    猜你喜欢
    • 2015-10-18
    • 1970-01-01
    • 2014-05-20
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-30
    • 2010-11-06
    相关资源
    最近更新 更多