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