WPF の ListBox 列と DataGrid 列の間で双方向のドラッグ アンド ドロップ機能を実装するためのヘルプを探しています。私はネットを検索し、ドラッグアンドドロップのサンプルを取得することができましたが、それらは私のニーズを満たしていません。さらに、それらのほとんどにはいくつかのコードがありません。私のデータグリッドには、EmployeeName と DepartmentName という 2 つの列が含まれています。これらの値は、最初に EmployeeName のみが読み込まれたコレクションから取得されます。これは、departmentname 列が空白であることを意味します。ユーザーは、ドラッグ アンド ドロップを使用して適切な部門を選択できます。部署名はリストボックスに読み込まれます。Departmentname は、リストボックスから選択し、データグリッド列にドラッグ アンド ドロップする必要があります。その Employeename は部署名にマップされます。ドロップしたら、その部門名をリストボックスから削除して、' 別の従業員に対してマップされません。マッピングは、部門名をデータグリッドからリストボックスにドラッグして戻し、ドラッグ アンド ドロップ用に別の部門名を再選択することで変更できます。
私のXamlはこのようなものです。(実際にはコード内の従業員/部門ではありませんが、探しているものを説明するためにそれを使用しました)
<DataGrid x:Name="DatagridEmployeeMapping" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Margin="5,5,5,5"
ItemsSource="{Binding ElementName=MWindow, Path=Settings.EmployeeMapping}" GridLinesVisibility="Vertical" AutoGenerateColumns="False" CanUserAddRows="False" IsReadOnly="False" SelectionMode="Single" >
<DataGrid.Columns>
<DataGridTextColumn Header="Employee Name" Binding="{Binding Path=eName}" Width="1*" IsReadOnly="True" />
<DataGridTextColumn Header="Department Name" Binding="{Binding Path=dName}" Width="1*" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
<ListBox x:Name="ListboxDepartmentData" Grid.Column="2" Grid.Row="1" Margin="5,5,5,5"
ItemsSource="{Binding ElementName=MWindow, Path=DepartmentDetails}" DisplayMemberPath="Name" ScrollViewer.VerticalScrollBarVisibility="Visible">
</ListBox>
リンク、サンプル コード、提案をいただければ幸いです。よろしく、 ミナル