我在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);
}
答案 0 :(得分:0)
Drag and Drop
是一种数据传输技术。从一个控件或文件到另一个控件或窗口。
如果您需要在窗口内移动控件,则需要使用鼠标事件:MouseDown, MouseUp, MouseMove
。 Look this.
答案 1 :(得分:0)
您想要拖动TextBox
并在Canvas
上移动它,但AllowDrop property用于拖放操作。拖放和拖放是不同的操作。
这是an example做你想做的事。
这个想法是处理Canvas的MouseMove
事件,计算鼠标光标的位置,并通过设置TextBox
到该位置的位置,你可以制作{{1} }跟随鼠标光标移动。