代码之家  ›  专栏  ›  技术社区  ›  Paul S Chapman

将DragDropTarget与传统网格一起使用

  •  1
  • Paul S Chapman  · 技术社区  · 14 年前

    Silverlight4现在提供了处理拖放操作的控件。所有的目标控件似乎都是这样从DragDropTarget继承的

    public class MyControlDragDropTarget : DragDropTarget<TItemsControlType,TItemsContainerType>
    

    . . .

    许多控件都有预定义的DragDropTargets,包括DataGrid、ListBox和Panels

    这很好,但我想从网格上拖放 一个datagrid,对于普通网格没有预定义的。

    实际上,我想从网格中拖动给定的行,但是如果没有网格的容器类型,我就无法为网格定义DragDropTarget控件。

    我唯一能想到的方法是不用网格-我使用一个列表框(其中有一个DragDropTarget),然后在每行(其中有一行n列)中放置一个StackPanel或网格

    有人有什么想法吗

    1 回复  |  直到 14 年前
        1
  •  1
  •   AnthonyWJones    14 年前

    “普通网格”只是面板的另一种形式,不需要专门的网格 DragDropTarget 对于 Grid ,现有 PanelDragDropTarget 对于“正常网格”来说就足够了。

    它的重要抓手是

    听起来你已经找到了答案,用 ListBox 相反。

    顺便说一句, 不是由Silverlight4提供的,而是Silverlight工具箱。这是一个重要的区别,因为当前质量带分配给 是“实验性的”。如果您想在自己的某个产品版本中使用这样的代码,您需要仔细考虑这一点。