C# 根据位置在wpf中创建动态文本框

C# 根据位置在wpf中创建动态文本框,c#,wpf,dynamic,textbox,controls,C#,Wpf,Dynamic,Textbox,Controls,我正在尝试在WPF中动态创建文本框。这是非常重要的,我将有灵活性,以确定文本框将在哪里-在像素级。 我找到了许多答案,它们使用stackpanel创建“运行时”文本框,但找不到如何根据指定位置构造它 文本框必须是“word wrap”,我正在使用按钮单击事件创建文本框 这是目前的代码,我真的不知道哪些方法或属性会有帮助。 谢谢:) 如果您关心文本框本身的像素位置,您可能希望将其放置在画布中。您需要使用x.SetValue(Canvas.LeftProperty、pixelX)[和.RightPr

我正在尝试在WPF中动态创建文本框。这是非常重要的,我将有灵活性,以确定文本框将在哪里-在像素级。 我找到了许多答案,它们使用stackpanel创建“运行时”文本框,但找不到如何根据指定位置构造它

文本框必须是“word wrap”,我正在使用按钮单击事件创建文本框

这是目前的代码,我真的不知道哪些方法或属性会有帮助。 谢谢:)


如果您关心文本框本身的像素位置,您可能希望将其放置在画布中。您需要使用x.SetValue(Canvas.LeftProperty、pixelX)[和.RightProperty等…]来获得准确的位置。由于我自己没有这样做,我想您需要将画布按正确的Z顺序(在顶部)放置,并使其透明。根据z顺序,事件也可能存在问题。祝你好运


-Kev

如果您关心文本框本身的像素位置,您可能希望将其放置在画布中。您需要使用x.SetValue(Canvas.LeftProperty、pixelX)[和.RightProperty等…]来获得准确的位置。由于我自己没有这样做,我想您需要将画布按正确的Z顺序(在顶部)放置,并使其透明。根据z顺序,事件也可能存在问题。祝你好运

-凯文

 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);
    }
 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);