我正在尝试在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);
}
答案 0 :(得分: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);
答案 1 :(得分:1)
如果你关心文本框本身的像素位置,你可能想把它放在Canvas中。您需要使用x.SetValue(Canvas.LeftProperty,pixelX)[和.RightProperty等...]来获得完全正确的位置。我自己没有这样做,我猜你需要将画布放在正确的Z顺序(顶部),并使其透明。事件也可能存在问题,具体取决于z顺序。祝你好运!
-Kev