WPF - 垂直增长以容纳所有文本的文本框

4 wpf textbox autogrow word-wrap

问题:我没有得到一个文本框设置,它将具有水平自动换行和垂直自动增长功能.我希望通过编写代码来做到这一点.我编写了以下代码,使用wordwrap在鼠标dblclick上创建一个文本框:

        TextBox text2 = new TextBox();
        text2.Width = 500;
        text2.Visibility = Visibility.Visible;
        text2.Focus();
        text2.Height = 30;
        text2.HorizontalAlignment = HorizontalAlignment.Left;
        text2.VerticalAlignment = VerticalAlignment.Top;
        Point p = e.GetPosition(LayoutRoot);
        text2.Margin = new Thickness(p.X, p.Y, 0, 0);
        LayoutRoot.Children.Add(text2);
Run Code Online (Sandbox Code Playgroud)

但是,文本框不会垂直增长.有人可以建议我用C#中的代码完全按照我的意愿行事吗?

vik*_*iky 5

尝试使用这个

        Grid grid = new Grid();
        grid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
        grid.RowDefinitions.Add(new RowDefinition());

        TextBox textBox = new TextBox() { Width = 100, TextWrapping = TextWrapping.Wrap };

        textBox.SetValue(Grid.RowProperty, 0);
        grid.Children.Add(textBox);
        window.Content = grid;
Run Code Online (Sandbox Code Playgroud)

其中window是分配给Window(root)的名称.