2010-07-14 10 views
0

Silverlight 4 Toolkit의 drag'n'drop 기능을 사용하여 각 ListBoxItem을 드래그/재정렬 할 수있는 drag'n'drop enabled Listbox가 있습니다.Silverlight : 드래그 앤드 컨트롤을 시작한 컨트롤 확인

각 ListBoxItem에는 여러 컨트롤 (TextBlocks, TextBoxes 및 Button)이 포함되어 있으며 ListboxItem 내의 버튼을 클릭 할 때 해당 컨트롤의 클릭 이벤트 대신 드래그 이벤트가 시작되는 경우가 있습니다.

하나의 해결 방법은 ItemDragStarting 이벤트를 처리하고 이벤트를 시작하기 위해 클릭 한 내용을 확인한 다음 Button에 의해 호출 된 경우 이벤트를 취소하는 것입니다.

그러나 내가 클릭 한 것을 확인하는 방법을 알 수는 없습니다. 이벤트 발신자와 e.DragSource는 ListBoxDragDropTarget 유형입니다. 버튼 또는 ListboxItem 자체에서 드래그를 시작하는지 여부와 관계 없습니다.

어떤 도움을 주시면 감사하겠습니다 - 내 문제에 대한 해결책 또는 필요한 조치를 취하는 대체 방법! 당신은 다음과 같은 방법을 사용하여 객체 유형 드릴 다운 할 수 있습니다

답변

1

:

private void OldFaithful_ItemDragStarting(object sender, ItemDragEventArgs e) 
     { 
      SelectionCollection selections = e.Data as SelectionCollection; 

      if (selections != null) 
      { 
       IEnumerable<CXSectionControl> draggedItems = selections.Select(s => s.Item as YOUREXCPECTEDOBJECTTYPE); 
       foreach (YOUREXCPECTEDOBJECTTYPE x in draggedItems) 
       { 
        MessageBox.Show(x.GetType().ToString()); 
       } 

      } 
     } 
+0

주셔서 감사합니다 답변을 많이 :) 내 대부분의 문제는, 개발을 할 수있는 VM을 사용하여 관련이 있었다 발견하는 내 마우스가 이상한 일을 저질렀다. 나중에 사용하기 위해 미리보기를 유지합니다. – Claus