WPF не поддерживает Textbox.MinLines для автоматического расчета высоты - PullRequest
2 голосов
/ 06 мая 2009

Я хочу иметь TextBox, высота которого увеличивается по мере ввода строк текста.

Я установил для свойства Высота значение «Авто», и пока что все работает. Теперь я хочу, чтобы высота TextBox была не менее 5 строк. Теперь я установил для свойства MinLines значение «5», но если я запускаю приложение, высота TextBox по-прежнему составляет одну строку.

Ответы [ 2 ]

2 голосов
/ 06 мая 2009

Попробуйте установить свойство MinHeight.

1 голос
/ 06 ноября 2010

Взломать, чтобы свойство MinLines работало

public class TextBoxAdv : TextBox
{
    bool loaded = false;


    /// <summary>
    /// Constructor
    /// </summary>
    public TextBoxAdv()
    {
        Loaded += new RoutedEventHandler( Control_Loaded );

        SetResourceReference( StyleProperty, typeof( TextBox ) );
    }


    void Control_Loaded( object sender, RoutedEventArgs e )
    {
        if( !loaded )
        {
            loaded = true;

            string text = Text;
            Text = "Text";
            UpdateLayout();
            Text = text;
        }
    }
}
...