こんにちは、アプリケーションを WPF に移行しようとしています。できるだけ MVVM を保持しようとしています。私の WinForm アプリの次の画面はかなり簡単に作成できましたが、Xaml と WPF ではうまくいきませんでした。
私はこれがどのように機能するかを気に入っていますが、ここでの私の目標は、これを WPF で再作成するか、このフィールド マッピングをまだ考えていない方法で行うことです。これは、入力フィールドを既存のデータ構造にマッピングするという基本的な要件を満たしています。 .
現在、これは私が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>
これは私が望むものに近いものですが、ドラッグ アンド ドロップが機能しません。お気づきかもしれませんが、私は Bea Stollnitz ソリューションを使用して、ドラッグ アンド ドロップを実装しようとしています。 http://bea.stollnitz.com/blog/?p=53 彼女のソリューションは、ItemsControls でのみ機能するように作成されているため、2 つを作成するために使用している GridView 内では機能していないのではないかと心配しています。列。リストボックスだけで試してみましたが、ドラッグ アンド ドロップ機能は機能しますが、これを機能させるには 2 つの列が必要です。
このシナリオでドラッグ アンド ドロップを実装する方法、または現在これを実装しようとしている方法の代替案を誰かが持っていますか。
どうもありがとう!