WPF(二)路由事件5.鼠标拖放
2012-02-13 22:54
369 查看
WPF中的拖放操作的方法和事件被集中到System.Windows.DragDrop.
拖放操作通过下面三个步骤进行:
(1)用于单击一个元素,并保持鼠标键为按下状态。这是信息被搁置起来,并且拖放操作开始。
(2)用户将鼠标移动到其他元素上,如果该元素可以接受正在拖动的内容,鼠标指针会变成拖放图标。否则鼠标指针会变成一个禁止的图标。
(3)当用户释放鼠标时,元素接受信息并决定如何处理接受到的信息,在没有释放鼠标时,可以通过按下Esc键取消操作。
Xaml
C#
效果图
拖放操作通过下面三个步骤进行:
(1)用于单击一个元素,并保持鼠标键为按下状态。这是信息被搁置起来,并且拖放操作开始。
(2)用户将鼠标移动到其他元素上,如果该元素可以接受正在拖动的内容,鼠标指针会变成拖放图标。否则鼠标指针会变成一个禁止的图标。
(3)当用户释放鼠标时,元素接受信息并决定如何处理接受到的信息,在没有释放鼠标时,可以通过按下Esc键取消操作。
Xaml
<Window x:Class="Prj_05_5MouseDragDrop.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid Margin="5"> <Grid.RowDefinitions> <RowDefinition></RowDefinition> <RowDefinition></RowDefinition> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition></ColumnDefinition> <ColumnDefinition></ColumnDefinition> </Grid.ColumnDefinitions> <TextBox Padding="10" VerticalAlignment="Center" HorizontalAlignment="Center">拖动内容</TextBox> <Label Grid.Column="1" Padding="30" Background="LightBlue" VerticalAlignment="Center" HorizontalAlignment="Center" MouseDown="lblSource_MouseDown">不接受拖动内容</Label> <Label Grid.Row="1" Grid.ColumnSpan="2" HorizontalAlignment="Center" Padding="20" AllowDrop="True" Drop="lblTarget_Drop">拖动到这</Label> </Grid> </Window>
C#
private void lblSource_MouseDown(object sender, MouseButtonEventArgs e) { Label lbl = (Label)sender; DragDrop.DoDragDrop(lbl, lbl.Content, DragDropEffects.Copy); } private void lblTarget_Drop(object sender, DragEventArgs e) { ((Label)sender).Content = e.Data.GetData(DataFormats.Text); }
效果图
相关文章推荐
- WPF(二)路由事件5.鼠标拖放
- WPF之鼠标拖放复制
- WPF 自定义路由事件
- WPF中对鼠标事件转换为命令处理模式的鼠标位置参数传递及EventArgs传递
- WPF and Silverlight 学习笔记(十三):依赖项属性和路由事件
- WPF基础之路由事件五
- WPF中的事件(二)- 自定义路由事件
- WPF 处理路由事件
- WPF 添加自定义路由事件
- WPF基础之路由事件
- 描述相关WPF自定义路由事件知识
- WPF路由事件学习笔记
- [简译]WPF的新特性——路由事件(2)
- WPF与MVVM的实现(五)注册路由事件
- WPF学习之路由事件
- WPF(二)路由事件4.隧道路由事件
- 了解 WPF 中的路由事件和命令
- 跟着小王学习wpf之十二 Wpf中的鼠标事件详解
- 了解 WPF 中的路由事件和命令(MSDN)
- WPF中路由事件的应用