在WPF中拖放一个弹出文本框

本文关键字:一个 文本 WPF 拖放 | 更新日期: 2023-09-27 18:19:00

我在WPF中创建了一个小程序,我点击一个按钮,一个弹出式文本框到达。我想使它可移动-拖放。

在代码中,我为一个名为x的文本框创建了一个对象,并使用了命令x.AllowDrop = true;,但没有成功。

我试过MSN、Youtube和其他资源,但都没有成功。

private void button1_Click_1(object sender, RoutedEventArgs e) {
    TextBox x = new TextBox();      
    x.Name = "new_textboxqq";       
    x.TextWrapping = TextWrapping.Wrap;     
    x.Text = "asfsadfasfsadfasff";                          
    x.VerticalScrollBarVisibility = ScrollBarVisibility.Visible;   
    x.Background = Brushes.Yellow;      
    x.AcceptsReturn = true
        x.Margin = new Thickness(5, 10, 0, 0);  
    x.AllowDrop = true;
    HouseCanvas.Children.Add(x);            
    this.AllowDrop = true;
    Canvas.SetLeft(x, 20);                  
    Canvas.SetTop(x, 20);                   
}

在WPF中拖放一个弹出文本框

Drag and Drop是一种数据传输技术。从一个控件或文件到另一个控件或窗口。

如果你需要在窗口内移动你的控件,你需要使用鼠标事件:MouseDown, MouseUp, MouseMove。看这个。

您想要拖动TextBox并在Canvas上移动它,但是AllowDrop属性是用于拖放操作的。拖放和移动是不同的操作。

这是一个你想做什么就做什么的例子。

这个想法是处理画布的MouseMove事件,计算鼠标光标的位置,并通过将TextBox的位置设置为该位置,您可以使TextBox跟随鼠标光标移动。