zoukankan      html  css  js  c++  java
  • WPF Item拖拽 DragDrop

    今天有个需求是需要拖拽DataGrid中的item到另一个DataGrid。自己实现还比较繁琐,网上查了查,发现一个不错的开源项目

    gong-wpf-dragdrop

    nuget安装下:Install-Package gong-wpf-dragdrop -Version 1.1.0

    在xaml中添加引用: xmlns:dd="clr-namespace:GongSolutions.Wpf.DragDrop;assembly=GongSolutions.Wpf.DragDrop"

    然后在datagrid中添加附加属性

    <Window x:Class="WpfApp8.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:WpfApp8"
            xmlns:dd="clr-namespace:GongSolutions.Wpf.DragDrop;assembly=GongSolutions.Wpf.DragDrop"
            mc:Ignorable="d"
            Title="MainWindow" Height="450" Width="800">
        <Grid>
            <DataGrid x:Name="grid1" dd:DragDrop.IsDragSource="True" dd:DragDrop.IsDropTarget="True" HorizontalAlignment="Left" Height="344" Margin="42,37,0,0" VerticalAlignment="Top" Width="292"/>
    
    
            <DataGrid x:Name="grid2"  dd:DragDrop.IsDragSource="True" dd:DragDrop.IsDropTarget="True"  HorizontalAlignment="Left" Height="344" Margin="415,37,0,0" VerticalAlignment="Top" Width="321"/>
            
        </Grid>
    </Window>

    dd:DragDrop.IsDragSource="True" dd:DragDrop.IsDropTarget="True"

    后台绑定下数据源

    注:如果grid2的数据源item类型与grid1不一致,是不可以拖拽的。

    可以支持多行拖拽。

  • 相关阅读:
    js-高级06-正则
    js-高级05-javaScript处理机制
    js-高级04-函数高级应用
    js-高级03-面向对象的继承
    js-高级02-贪吃蛇案例分析
    js-高级01面向对象及创建对象
    js-API 06 高级动画二
    js-API 05 高级动画
    对象数组 数组对象 增删改查 数组
    jQuery ajax请求 一般请求和自定义请求
  • 原文地址:https://www.cnblogs.com/czly/p/10470759.html
Copyright © 2011-2022 走看看