1

コードを介して動的にテキストボックスを作成し、それをLayoutRootに追加しています。テキストボックスで複数行をサポートしたいので、プロパティをに設定し、プロパティAcceptsReturnをに設定しました。を設定するには、を使用する必要があるという別の質問を読みました。これを実行しました。でも、足してみると、その高さは無限大で、空間全体を覆っています。テキストボックスを最初は1行にし、行を追加すると高さが高くなるようにします。この解決策を手伝ってください。trueTextWrappingWrapHeightAutodouble.NaN

4

2 に答える 2

4

TextBoxで包みますStackPanel。コードを介して実行している場合は、次のように実行できます。たとえば、次のようになります。

public MainPage()
{
    InitializeComponent();

    var textBox = new TextBox
    {
        AcceptsReturn = true,
        Height = Double.NaN,
        TextWrapping = TextWrapping.Wrap
    };

    var stackPanel = new StackPanel();
    stackPanel.Children.Add(textBox);

    this.LayoutRoot.Children.Add(stackPanel);
}
于 2012-07-08T17:47:52.653 に答える
0

良い代替案は、グリッドにサイズ変更可能な行を作成し、そこにtextBoxを配置することです。

<RowDefinition MinHeight="20"/>

TextBoxを次の行に配置します。

Grid.SetRow(textBox,1);

これで、textBoxの高さがAutoまたはDouble.NaNの場合、それ自体と行のサイズを適切に変更する必要があります。

于 2012-07-08T18:33:58.353 に答える