Отображение текстового поля для отображения трех строк - PullRequest
1 голос
/ 17 августа 2011

Я хотел бы создать текстовое поле 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 ]

1 голос
/ 17 августа 2011

Вот иллюстрация, основанная на моем комментарии выше.

<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.

0 голосов
/ 05 сентября 2011

Ну, я просто положил TextBox в ScrollViewer, вот так:

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