显示文本框以显示三行

时间:2011-08-17 06:51:07

标签: wpf layout textbox font-size

我想创建一个足够大的WPF文本框来显示3行文本。到目前为止,我有这段代码:

  System.Windows.Controls.TextBox myTextbox = new TextBox()
                {
                    AcceptsReturn = true,
                    MinLines = 3,
                    MaxLines = 3,
                    TextWrapping = TextWrapping.Wrap,
                    FontFamily = new FontFamily("Microsoft Sans Serif"),
                    FontSize = 11,
                };

然而,当布置myTextBox时,无法保证它有足够的高度来显示3行文字。理想情况下,我想将FontSize指定为“myTextBox有足够的空间容纳3行文字,而不是更小”。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

以下是基于我上述评论的插图。

<Border VerticalAlignment="Top" Height="Auto">
  <TextBox FontSize="11" MinLines="3" MaxLines="3" AcceptsReturn="True" FontFamily="Microsoft Sans Serif" VerticalAlignment="Top"/>
</Border>

给了我三行。

<Border VerticalAlignment="Top" Height="11">
  <TextBox FontSize="11" MinLines="3" MaxLines="3" AcceptsReturn="True" FontFamily="Microsoft Sans Serif" VerticalAlignment="Top"/>
</Border>

只给我一个。边框限制了TextBox的高度。

答案 1 :(得分:0)

好吧,我最后只是将TextBox放入ScrollViewer,就像这样:

System.Windows.Controls.ScrollViewer myScrollViewer = 
    new ScrollViewer(){Content = myTextbox};
// Now place the ScrollViewer where the TextBox was before.