【问题标题】:Control to drag and drop buttons in WPF [closed]WPF中拖放按钮的控件[关闭]
【发布时间】:2012-07-27 13:43:16
【问题描述】:

我只想知道哪个控件(wrapPanel、listView 等)可以使项目可拖动?当我说项目时,我的意思是按钮 - 想要控制 x 按钮并改变它们的位置,所以如果我拖动按钮 1 并放入索引 10 我希望其余按钮改变它们的位置(从 2 到 10,id/位置 - 1)。 如果这两种控制方式都可以,那么哪一种更容易?

【问题讨论】:

    标签: c# wpf drag-and-drop


    【解决方案1】:

    本文有一个拖动画布的例子。Dragging Elements in a Canvas

    对于位置,您可以将每个元素的位置保存在一个属性中,然后当您放下一个元素时,您会得到他的位置,计算它的边界。然后,您将遍历所有元素并根据需要修改它们的位置

    【讨论】:

    • 嗯,我试着用按钮来做。但是在添加了 3 种方法之后,实际上什么也没发生:
    • void bnt_MouseDown(object sender, MouseButtonEventArgs e) { Button l = (Button)sender; if (l != null) { DragDrop.DoDragDrop(l, l.Content, DragDropEffects.Copy); } }
    • private void listBox1_Drop(object sender, DragEventArgs e) { ListBox lb = sender as ListBox; if (lb != null) { lb.Items.Add(e.Data.GetData(DataFormats.Text)); } }
    • private void listBox1_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.Text)) { e.Effects = DragDropEffects.Copy; } else { e.Effects = DragDropEffects.None; } }
    • 为什么要使用这个按钮。您可以创建要拖动的元素,并根据需要使它们看起来像按钮
    猜你喜欢
    • 2010-10-15
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 2010-11-27
    • 1970-01-01
    相关资源
    最近更新 更多