내 실버 라이트 4 응용 프로그램은 PanelDragDropTarget에 ListBoxDragDropTarget에서 드래그 허용한다.PanelDragDropTarget 및 ListBoxDragDropTarget : 정확히 무엇이 끌리고 있습니까?
응용 프로그램에는 사람을 나타내는 모델 인 Person
개체와 해당 데이터 콘텍스트가 Person
인 PersonControl
사용자 컨트롤이 있습니다.
참고로 관련 코드는 다음과 같습니다
<toolkit:ListBoxDragDropTarget x:Name="dtListBox" Grid.Row="2" AllowedSourceEffects="Copy" AllowDrop="True"
HorizontalContentAlignment="Stretch"
VerticalAlignment="Top" VerticalContentAlignment="Stretch">
<!-- FilteredMembers is of type ObservableCollection<Person> -->
<ListBox ItemsSource="{Binding FilteredMembers}"
MinWidth="42"
MinHeight="42">
<ListBox.ItemTemplate>
<DataTemplate>
<my:PersonControl />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</toolkit:ListBoxDragDropTarget>
및
<toolkit:PanelDragDropTarget AllowDrop="True" AllowedSourceEffects="Copy,Move"
Drop="PanelDragDropTarget_Current_Drop">
<StackPanel>
<ctl:PersonControl Margin="3,3,3,3" x:Name="pcCurrent"></ctl:PersonControl>
</StackPanel>
</toolkit:PanelDragDropTarget>
지금까지 너무 좋아.
PanelDragDropTarget
으로 끌면
Person
이됩니다.
그러나, 나는 또 다른 PanelDragDropTarget
에 PanelDragDropTarget
에서 드래그 할 수 있습니다. 이 경우 Person
대신 삭제 된 개체는 PersonControl
입니다.
따라서 떨어 뜨린 개체는 출처에 따라 Person
또는 PersonControl
일 수 있습니다.
PersonControl
을 이동하는 대신 모든 경우에 Person
개의 개체를 끌어서 놓기를 정말로하고 싶습니다. 어떻게 PanelDragDropTarget
이되도록 드래그가 Person
보다는 PersonControl
끌어 수정할 수 있습니다? 나는이 매우 비슷한 질문을 검토 한
:
Drag/drop from ListBoxDragDropTarget to PanelDragDropTarget
하지만이 문제를 해결하는 방법을 이해하지 않습니다.