Hi Trying to migrate my application to WPF, and I'm trying to hold as much to MVVM as possible. The following screen from my WinForm app was fairly easy to create, I'm not having such good luck wiht Xaml and WPF.

![Screen Shot of WinForm Custom Field mapping](https://i.stack.imgur.com/jnJ2q.png)

I like how this works, but my goal here is to either recreate this with WPF, or do this field mapping some way that I haven't thought of yet, that still meets the basic requirement of mapping the input fields to my existing data structure. 

Currently this is what I have in Xaml. 

```
<UserControl x:Class="ImportJobDataView"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:kne="clr-namespace:FatigueMVVM"
         xmlns:local="clr-namespace:FatigueMVVM.DragDropListBox"                   
         mc:Ignorable="d" d:DesignHeight="350" d:DesignWidth="447">

<Grid Height="350" Width="448">

    <Grid.RowDefinitions >
        <RowDefinition Height="300" />
        <RowDefinition Height="50" />
    </Grid.RowDefinitions>

    <ListView ItemsSource="{Binding ImportedJobDataColumns}"  Margin="37,68,295,64" local:DragDropHelper.IsDragSource="true">
        <ListView.View >
            <GridView AllowsColumnReorder="True"   >
                <GridViewColumn Width="100" Header="Imported"/>
            </GridView>
        </ListView.View>
    </ListView>
    <ListView ItemsSource="{Binding KneJobDataColumns}"  Margin="193,68,41,64" AllowDrop="True" local:DragDropHelper.IsDropTarget="true">
        <ListView.View >
            <GridView AllowsColumnReorder="True"   >
                <GridViewColumn Width="100" Header="Import From" DisplayMemberBinding="{Binding ImportField }"   />
                <GridViewColumn Width="100" Header="Map To" DisplayMemberBinding="{Binding  KneField }" />
            </GridView>
        </ListView.View>
    </ListView>

    <Button Content="Open Csv" Height="23" HorizontalAlignment="Left" Margin="37,15,0,0" Name="Button1" VerticalAlignment="Top" Width="75" Command="{Binding OpenCsvCommand}" Grid.Row="1" />
    <Button Content="Clean Data" Height="23" HorizontalAlignment="Left" Margin="118,15,0,0" Name="Button2" VerticalAlignment="Top" Width="auto" Grid.Row="1" />
    <Button Content="View Imported Data" Height="23" HorizontalAlignment="Left" Margin="193,15,0,0" Name="Button3" VerticalAlignment="Top" Width="auto" Grid.Row="1" />
</Grid>

```

This is looking close to how I'd like it to look, but I can't get drag and drop working. As you may have noticed, I'm using Bea Stollnitz solution to try and implement drag and drop. <http://bea.stollnitz.com/blog/?p=53> Her solution is only made to work with ItemsControls, and as such, I'm afraid it is not working inside the GridView that I'm using to create the two columns. I have tried it with just Listboxes and the drag and drop functionality does work but I really need two columns to make this work.

![enter image description here](https://i.stack.imgur.com/IEikU.png)

Does anyone have either a suggestion on how to implement drag and drop in this scenario, or an alternative to the way that I'm currently trying to implement this.

Thanks much!