<div align="center">

  <a href="https://github.com/punker76/gong-wpf-dragdrop">
    <img alt="gong-wpf-dragdrop" width="700" heigth="142" src="./GongSolutions.Wpf.DragDrop.Full.png">
  </a>
  <h1>GongSolutions.WPF.DragDrop</h1>
  <p>
    An easy to use drag'n'drop framework for WPF.
  </p>

  <a href="https://gitter.im/punker76/gong-wpf-dragdrop">
	  <img src="https://img.shields.io/badge/Gitter-Join%20Chat-green.svg?style=flat-square">
  </a>
  <a href="https://twitter.com/punker76">
	  <img src="https://img.shields.io/badge/twitter-%40punker76-55acee.svg?style=flat-square">
  </a>
  <a href="https://ci.appveyor.com/project/punker76/gong-wpf-dragdrop/branch/master">
	  <img alt="masterstatus" src="https://img.shields.io/appveyor/ci/punker76/gong-wpf-dragdrop/master.svg?style=flat-square&&label=master">
  </a>
  <a href="https://ci.appveyor.com/project/punker76/gong-wpf-dragdrop/branch/dev">
	  <img alt="devstatus" src="https://img.shields.io/appveyor/ci/punker76/gong-wpf-dragdrop/dev.svg?style=flat-square&&label=dev">
  </a>
  <a href="https://github.com/punker76/gong-wpf-dragdrop/releases/latest">
	  <img src="https://img.shields.io/github/release/punker76/gong-wpf-dragdrop.svg?style=flat-square">
  </a>
  <br />
  <a href="https://www.nuget.org/packages/gong-wpf-dragdrop">
    <img src="https://img.shields.io/nuget/dt/gong-wpf-dragdrop.svg?style=flat-square">
  </a>
  <a href="https://www.nuget.org/packages/gong-wpf-dragdrop">
    <img src="https://img.shields.io/nuget/v/gong-wpf-dragdrop.svg?style=flat-square">
  </a>
  <a href="https://www.nuget.org/packages/gong-wpf-dragdrop">
    <img src="https://img.shields.io/nuget/vpre/gong-wpf-dragdrop.svg?style=flat-square&label=nuget-pre">
  </a>
  <a href="https://github.com/punker76/gong-wpf-dragdrop/issues">
    <img src="https://img.shields.io/github/issues/punker76/gong-wpf-dragdrop.svg?style=flat-square">
  </a>
  <br />
  <br />

</div>

## Features

+ Works with MVVM : the logic for the drag and drop can be placed in a ViewModel. No code needs to be placed in codebehind, instead attached properties are used to bind to a drag handler/drop handler in a ViewModel.
+ Works with multiple selections.
+ Can drag data within the same control to re-order, or between controls.
+ Works with `ListBox`, `ListView`, `TreeView`, `DataGrid` and any other `ItemsControl`.
+ Can insert, move or copy an item into a collection of the same control or into another.
+ Can display Adorners to give the user visual feedback of the operation in progress.
+ Has sensible defaults so that you have to write less code for common operations.

## Let's get started

- [Building](../../wiki/Building) the `gong-wpf-dragdrop` solution
- [How to...](../../wiki/Usage)
- [Releases and Release Notes](../../releases)
- [Release History](../../wiki/Release-History)
- [Strong naming](../../wiki/Strong-naming)
- [Wiki](../../wiki)
- [License](https://github.com/punker76/gong-wpf-dragdrop/blob/dev/LICENSE)

## Want to say thanks?

This framework is free and can be used for free, open source and commercial applications. It's tested and contributed by many people... So mainly hit the :star: button, that's all... thx :squirrel: (:dollar:, :euro:, :beer: or some other gifts are also being accepted...).

## In action

![screenshot01](./screenshots/2016-09-03_00h51_35.png)

![screenshot02](./screenshots/2016-09-03_00h52_20.png)

![screenshot03](./screenshots/2016-09-03_00h53_03.png)

![screenshot04](./screenshots/2016-09-03_00h53_21.png)

![gif01](./screenshots/DragDropSample01.gif)
