2012-06-21 2 views
0

AllowDrop 속성이 true 인 스택 패널이 있고이 스택 패널에서 사용자 정의 컨트롤 (Player.xaml)을 드래그해야합니다.
스택 패널의 Drop 이벤트 내부에서, 나는 끌고있는 항목이

Drop 이벤트에서 객체의 형식 확인

private void StackPanel_Drop(object sender, DragEventArgs e) 
    { 
    if (e.Data.GetDataPresent("ProjectName.FolderName.Player")) 
    { 
      spHolder.Children.Clear(); 
      spHolder.Children.Add((UserControls.AnswerControl)e.Data.GetData("ProjectName.FolderName.Player")); 
    } 
} 

내가 컨트롤에 대한 간단한 텍스트를 삭제했을 경우, 나는 같이 할 것 user control (Player.xaml) 유형의 경우 검사해야 이 :

private void StackPanel_Drop(object sender, DragEventArgs e) 
    { 
    if (e.Data.GetDataPresent(DataFormats.StringFormat)) 
    { 
      spHolder.Children.Clear(); 
      spHolder.Children.Add((UserControls.AnswerControl)e.Data.GetData(DataFormats.StringFormat)); 
    } 
} 

하지만 스택 패널에서 사용자 정의 컨트롤을 삭제할 때 어떻게해야합니까? 이 일에 대해 구체적으로 설명 할 형식은 무엇입니까?

답변

1

사용

Dictionary<Player, string> dropShapes = e.Data.GetData(typeof(Dictionary<Player, string>)) 
       as Dictionary<Player, string>; 

또는

Player dropShape = e.Data.GetData(typeof(Player))