2015-10-24 4 views
0

Я создал небольшую программу в WPF, где я нажимаю кнопку и появляется всплывающее текстовое поле. Я хотел бы сделать это подвижным - перетащить.Перетащите всплывающее текстовое поле в WPF

В коде я создал объект для текстового поля с именем x и использовал команду x.AllowDrop = true;, но безуспешно.

Я пробовал MSN, Youtube и другие источники, но безуспешно.

private void button1_Click_1(object sender, RoutedEventArgs e) { 

    TextBox x = new TextBox();  
    x.Name = "new_textboxqq";  
    x.TextWrapping = TextWrapping.Wrap;  
    x.Text = "asfsadfasfsadfasff";       

    x.VerticalScrollBarVisibility = ScrollBarVisibility.Visible; 
    x.Background = Brushes.Yellow;  
    x.AcceptsReturn = true 
     x.Margin = new Thickness(5, 10, 0, 0); 

    x.AllowDrop = true; 

    HouseCanvas.Children.Add(x);    
    this.AllowDrop = true; 

    Canvas.SetLeft(x, 20);     
    Canvas.SetTop(x, 20);     
} 

ответ

0

Drag and Drop - это технология передачи данных. От одного элемента управления или файлов до другого элемента управления или окна.

Если вам нужно переместить управление внутри окна, вам нужно использовать события мыши: MouseDown, MouseUp, MouseMove. Look this.

0

Вы хотите перетащить TextBox и переместить его на Canvas, но AllowDrop property для операции Drag-и-Drop. Drag-and-Move и Drag-and-Drop - разные операции.

Это an example, чтобы сделать то, что вы хотите.

Идеи обработка MouseMove события холста, вычислением положения курсора мыши, и установив положение TextBox в эту позицию, вы можете сделать TextBox двигаться вслед за курсором мыши.

Смежные вопросы