0

WPF で動的にテキスト ボックスを作成しようとしています。テキスト ボックスをどこに配置するか (ピクセル レベル) を柔軟に決定できることが非常に重要です。stackpanel を使用して「ランタイム」テキスト ボックスを作成する多くの回答を見つけましたが、指定された場所に従ってそれを作成する方法が見つかりませんでした。

テキストボックスは「ワードラップ」である必要があり、ボタンクリックイベントを使用してテキストボックスを作成しています

これは今のところコードです。どのメソッドやプロパティが役立つかはわかりません。ありがとう :)

 private void button1_Click(object sender, RoutedEventArgs e)
        {
            TextBox x = new TextBox();
            x.Name = "new_textbox";
            x.TextWrapping= TextWrapping.Wrap;
            x.VerticalScrollBarVisibility=ScrollBarVisibility.Visible;
            x.AcceptsReturn = true;
            x.Margin = new Thickness(5, 10, 0, 0);
    }
4

2 に答える 2

3
 TextBox x = new TextBox();
 x.Name = "new_textbox";
 x.TextWrapping= TextWrapping.Wrap;
 x.VerticalScrollBarVisibility=ScrollBarVisibility.Visible;
 x.AcceptsReturn = true;
 x.Margin = new Thickness(5, 10, 0, 0);
 HouseCanvas.Children.Add(x);
 Canvas.SetLeft(x, 20);
 Canvas.SetTop(x, 20);
于 2012-08-24T22:51:42.370 に答える
1

テキストボックス自体のピクセル配置に関心がある場合は、キャンバスに配置することをお勧めします。x.SetValue(Canvas.LeftProperty, pixelX) [および.RightPropertyなど...]を使用して、位置を正確に取得する必要があります。自分でこれを行っていないので、キャンバスを正しい Z オーダー (上) に配置し、透明にする必要があると思います。Z オーダーによっては、イベントに問題が発生する場合もあります。幸運を!

-ケブ

于 2012-08-24T22:49:43.370 に答える