#927 – Limiting the Size of a TextBox
October 14, 2013 1 Comment
By default, a TextBox is high enough to accommodate a single line of text and wide enough to accommodate it’s widest line. The TextBox sizes to fits its content, even if the content changes at run-time.
For example, if we don’t constrain the size of a TextBox and then add and remove lines at run-time, its content will change:
private void btnAdd_Click(object sender, RoutedEventArgs e) { MyText = MyText + Environment.NewLine + string.Format("This is line {0}", nextLine++); }
We can, however, constrain the height by setting the MinLines and MaxLines property of the TextBox.
<TextBox Text="{Binding MyText}" TextWrapping="NoWrap" HorizontalAlignment="Center" Margin="5" MaxLines="2"/>
In the example above, when we continue adding lines, the TextBox still only shows two lines.
If we enabled a vertical scrollbar, we’d see that we actually have three lines (after adding three) and we could scroll down to the third line.