WPF의 ListBox와 DataGrid 열 사이에 양방향 끌어서 놓기 기능을 구현하는 데 도움이되는 몇 가지 도움말을 찾고 있습니다. 나는 그물을 통해 수색하고 끌기 하락 견본을 움켜 잡을 수 있었다 그러나 그들은 나의 필요를 성취하지 않는다, 플러스 그들의 대부분은 몇몇없는 부호가있다. 내 DataGrid에는 EmployeeName과 DepartmentName 두 열이 있습니다. 이 값은 처음에는 EmployeeName으로만로드되는 콜렉션에서 가져옵니다. departmentname 컬럼이 비어 있음을 의미합니다. 그런 다음 사용자는 끌어서 놓기를 사용하여 적절한 부서를 선택할 수 있습니다. 부서 이름이 목록 상자에로드됩니다. Departmentname은 Listbox에서 선택해야하며, 데이터 그리드 열에 드레그되고 드롭됩니다. 해당 Employeename은 부서 이름으로 매핑됩니다. 일단 삭제되면 해당 부서 이름을 다른 직원과 매핑 할 수 없도록 목록 상자에서 제거해야합니다. 부서 이름을 DataGrid의 목록 상자로 다시 드래그하고 끌어다 놓기 위해 다른 부서 이름을 다시 선택하여 매핑을 변경할 수 있습니다.wpf의 목록 상자와 DataGrid 간의 양방향 끌어서 놓기
내 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>
(실제로는 코드에서 직원/부서가 아니라 내가 무엇을 찾고 설명하는 것을 사용했다). 감사 Minal
고마워, 마이크. 이것은 실제로 도움이됩니다. 나는 오늘 가서 그것을 줄 것이고 내가 더 이상의 도움이 필요하면 알려주겠다. – Minal
그걸로 성공 했니? – Mike1991
예, 조금 개조하면 저에게 효과적입니다. 당신의 도움을 주셔서 감사합니다. – Minal