2013-07-26 4 views
0

나는 프로그래밍에 익숙하지 않으며 여기에서 끌어서 놓기를 시도하고 있습니다. 이제 끌어서 놓을 수 있지만 끌어서 놓기위한 사용자 정의 커서는 추악합니다. 어떻게 끌까요? 커서로 드레 이닝하는 요소? 나는 온라인으로 검색하고 adorner에 대한 언급을 발견했지만 코드를 이해하지 못합니다. 이 작업을 수행하는 간단하거나 단순하고 더 좋은 방법이 있습니까?WPF C# 끌기 및 놓기 커서로 요소 끌기

   TextBox tbox = new TextBox(); 
       tbox.Width = 250; 
       tbox.Height = 50; 
       tbox.AllowDrop = true; 
       tbox.FontSize = 24; 
       tbox.BorderThickness = new Thickness(2); 
       tbox.BorderBrush = Brushes.BlanchedAlmond;  
       tbox.PreviewDrop += new DragEventHandler(tbox_Drop); 

       if (lstQuestion[i].Answer.Trim().Length > 0) 
       { 

        wrapPanel2.Children.Add(tbox); 
        answers.Add(lbl.Content.ToString()); 
        MatchWords.Add(question.Content.ToString(), lbl.Content.ToString()); 

       } 

Dictionary<string, string> shuffled = Shuffle(MatchWords); 
     foreach (KeyValuePair<string, string> s in shuffled) 
     { 
      Label lbl = new Label(); 
      lbl.Content = s.Value; 
      lbl.Width = 100; 
      lbl.Height = 50; 
      lbl.FontSize = 24;    
      lbl.DragEnter += new DragEventHandler(lbl_DragEnter); 
      // lbl.MouseMove += new MouseEventHandler(lbl_MouseMove); 
      lbl.MouseDown +=new MouseButtonEventHandler(lbl_MouseDown); 

      dockPanel1.Children.Add(lbl); 
     } 

내가 끌어 오전 :

난 내가 드래그 앤 드롭 (내가 동적으로 for 루프에서 텍스트 상자와 라벨을 만들어, 내가 텍스트를 검색하고 데이터베이스에서 레이블을 추가 할 것을 여기에이 코드를 레이블 (드래그 대상)을 텍스트 상자 (끌어서 놓기)에 넣어야합니다. 이벤트는 어떻게 사용해야합니까? 드래그하는 레이블에 끌기 커서를 설정하는 방법은 무엇입니까?

여기 atm :

 private void tbox_Drop(object sender, DragEventArgs e) 
    { 
     MessageBox.Show("Are you sure ? Wrong don't blame me "); 
     (sender as TextBox).Text = string.Empty; 

    } 

    private void lbl_DragEnter(object sender, DragEventArgs e) 
    { 
     if (sender == e.Source) 
     { 
      e.Effects = DragDropEffects.None; 
     } 
    } 

모든 솔루션이나 도움이 감사합니다, 나는 그것을 구현하기 위해 이해하기에는 너무 복잡하다는 방식으로 adorner를 보았습니다. 이 작업을 수행하는 간단하고 간단한 방법을 찾고 있습니다.

+0

Adorners에 대한 FluidKit http://fluidkit.codeplex.com/

자습서 같은 오픈 소스를 사용할 수 있습니다. 당신이하고 싶은 일을하고 싶다면, 너는 주저하고 Adorners에 대해 배우기를 권합니다. 그다지 어렵지 않습니다. Adorners는 물건을 그릴 수있는 컨트롤 위에있는 레이어라고 생각하십시오. 구글 "DragDropAdorner"그리고 거기에서 이동하십시오. –

답변