• WPF(二)路由事件5.鼠标拖放


    WPF中的拖放操作的方法和事件被集中到System.Windows.DragDrop. 拖放操作通过下面三个步骤进行: (1)用于单击一个元素,并保持鼠标键为按下状态。这是信息被搁置起来,并且拖放操作开始。 (2)用户将鼠标移动到其他元素上,如果该元素可以接受正在拖动的内容,鼠标指针会变成拖放图标。否则鼠标指针会变成一个禁止的图标。
      

      WPF中的拖放操作的方法和事件被集中到System.Windows.DragDrop.

      拖放操作通过下面三个步骤进行:

      (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);
    }

      效果图

      

      本文来自William Jiang的博客,原文地址:http://www.cnblogs.com/WilliamJiang/archive/2012/02/13/2350151.html

  • 相关阅读:
    901Air724UG模块(4G全网通GPRS开发)Air724UG(4G)使用SPI控制CH395Q(以太网模块)实现TCP/IP通信
    02STM32+MN316(NBIOT)基本控制篇(自建MQTT服务器)硬件使用说明
    Docker 清理none镜像 Prune命令
    Leetcode 252. 会议室 253. 会议室II 贪心算法扫描线技巧
    Leetcode 77. 组合(中等)回溯算法
    Leetcode 787. K 站中转内最便宜的航班(中等) 动态规划
    Leetcode 174. 地下城游戏(困难) 动态规划
    Linux arm环境下pip3安装av失败
    Leetcode 134. 加油站(中等) 贪心算法
    Leetcode 698. 划分为k个相等的子集(中等) 回溯算法=集合划分
  • 原文地址:https://www.cnblogs.com/zhihai/p/2387088.html
Copyright © 2020-2023  润新知