当前位置: 首页 > news >正文

淘宝客做网站要钱吗深圳在线直播电视

淘宝客做网站要钱吗,深圳在线直播电视,wordpress 关键字链接,英文网站建设深圳C# WPF编程-路由事件 路由事件概要路由事件的三种方式 WPF事件WPF最重要的5类事件:生命周期事件 鼠标事件键盘事件多点触控输入原始触控 路由事件概要 路由事件是具有更强传播能力的事件,它们可在元素树中向上冒泡和向下隧道传播,并沿着传播…

C# WPF编程-路由事件

  • 路由事件概要
    • 路由事件的三种方式
  • WPF事件
    • WPF最重要的5类事件:
    • 生命周期事件
  • 鼠标事件
  • 键盘事件
  • 多点触控输入
    • 原始触控

路由事件概要

路由事件是具有更强传播能力的事件,它们可在元素树中向上冒泡和向下隧道传播,并沿着传播路径被事件处理程序处理。

路由事件的三种方式

  1. 与普通.NET事件类似的直接路由事件(direct event)。
  2. 在包含层次中向上传递的冒泡路由事件(bubbling event)。
  3. 在包含层次中向下传递的隧道路由事件(tunneling event)。

定义、注册和封装路由事件

以Button的Click事件为例:

public abstract class ButtonBase: ContentControl,...
{// 定义事件public static readonly RouteEvent ClickEvent;// 注册事件static ButtonBase(){ButtonBase.ClickEvent = EventManager.RegisterRouteEvent("Click", RoutingStrategy.Bullle, typeof(RoutedEventHandler), typeof(ButtonBase));...}// 封装事件public event RoutedEventHandler Click{add{base.AddHandler(ButtonBase.ClickEvent, value);}remove{base.RemoveHandler(ButtonBase.ClickEvent, value);}} ...
}
  • 共享路由事件
    可在类之间共享路由事件的定义。
    如:UIElement.MouseUpEvent = Mouse.MouseUpEvent.AddOwner(typeof(UIElement));

  • 引发路由事件
    与所有事件类似,定义类需要在一定情况下引发事件。使用RaiseEvent()方法引发事件。
    如:RouteEventArgs e = new RouteEventArgs(ButtonBase.ClickEvent, this);
    base.RaiseEvent(e);

  • 处理路由事件
    XAML标签中定义:
    < Image Source=“1.png” Name=“img” MouseUp=“img_MouseUp” />
    C# 代码中:
    private void img_MouseUp(object sender, MouseButtonEventArgs e)
    {
    }

  1. 添加事件:

    • 代码中和XAML标记中同样效果:
      img.MouseUp += new MouseButtonEventHandler(img_MouseUp);

    • 更精简的语法,隐式地创建合适的委托对象:
      img.MouseUp += img_MouseUp;

    • 自行调用UIElement.AddHandler()方法直接连接事件:
      img.AddHandler(Image.MouseUpEvent, new MouseButtonEventHandler(img_MouseUp));

  2. 移除事件:

    • 使用-=运算符:
      img.MouseUp -= img_MouseUp;
    • 使用UIElement.RemoveHandler()方法:
      img.RemoveHandler(Image.MouseUpEvent, new MouseButtonEventHandler(img_MouseUp));

RouteEventArgs类:
在这里插入图片描述

附件事件:
所有按键的单击事件都会触发调用DoSomething事件处理函数
在这里插入图片描述
隧道事件:
隧道路由事件易于识别,它们都以Preview开头。WPF通常成对地定义冒泡路由事件和隧道路由事件。如冒泡事件MouseUp和隧道事件PrevieMouseUp。

WPF事件

WPF最重要的5类事件:

  1. **生命周期事件:**在元素被初始化、加载或卸载时发生这些事件。
  2. **鼠标事件:**操作鼠标时发生的事件。
  3. **键盘事件:**操作键盘时发生的事件。
  4. **手写笔事件:**操作手写笔时发生的事件。
  5. 多点触控事件: 操作触摸屏时发生的事件。

生命周期事件

在这里插入图片描述
在这里插入图片描述

鼠标事件

获取鼠标Move事件的鼠标坐标信息:

       private void Window_MouseMove(object sender, MouseEventArgs e){Point pt = e.GetPosition(this);Console.WriteLine($"Window_MouseMove {pt.X}, {pt.Y}");}

在这里插入图片描述

 private void Window_MouseUp(object sender, MouseButtonEventArgs e){Console.WriteLine("Window_MouseUp");}private void Window_MouseDown(object sender, MouseButtonEventArgs e){Console.WriteLine("Window_MouseDown");}private void Window_MouseEnter(object sender, MouseEventArgs e){Console.WriteLine("Window_MouseEnter");}private void Window_MouseLeave(object sender, MouseEventArgs e){Console.WriteLine("Window_MouseLeave");}private void Window_MouseDoubleClick(object sender, MouseButtonEventArgs e){Console.WriteLine("Window_MouseDoubleClick");}private void Window_MouseMove(object sender, MouseEventArgs e){Point pt = e.GetPosition(this);Console.WriteLine($"Window_MouseMove {pt.X}, {pt.Y}");}
  • 鼠标捕获
    在这里插入图片描述

  • 鼠标拖放
    在这里插入图片描述

键盘事件

在这里插入图片描述

<Grid Button.Click="Grid_Click" KeyDown="Grid_KeyDown"><StackPanel><Button Name="btn1" Width="20" Height="30" Margin="10" Click="btn1_Click">OK</Button><TextBox TextInput="TextBox_TextInput"></TextBox></StackPanel>
</Grid>private void Grid_KeyDown(object sender, KeyEventArgs e){Console.WriteLine($"{e.Key.ToString()}");}private void TextBox_TextInput(object sender, TextCompositionEventArgs e){Console.WriteLine($"{e.Text}");}

KeyboardDevice属性提供的方法:
在这里插入图片描述

多点触控输入

在这里插入图片描述

原始触控

在这里插入图片描述

http://www.yayakq.cn/news/426037/

相关文章:

  • 服装企业网站策划书水牛影视
  • 政务网站建设目标和核心功能网络软文推广网站
  • 一个网站交互怎么做网站备案幕布多少钱
  • 上下框架 网站wordpress电商小程序
  • 无锡网站制作建设宝安中心医院上班时间
  • 中文儿童网站模板做网站需要空间
  • 快站如何做网站网站seo站群软件
  • 仿站工具下载后咋做网站招聘信息网站建设
  • 网站代码关键词标题广告学出来好找工作吗
  • 建网站的公司价格网站建设销售销售流程
  • 免费建站网站排名网站首页的文字下拉怎么做
  • 做便民网站都需要提供什么网页设计学校模板
  • 做网站移动端建多大尺寸萍乡企业网站建设
  • 自己做个网站用什么软件好网站分站是怎么做的
  • 带搜索网站建设视频教程苏州建站公司
  • 电子商务网站建设与原理wordpress邮件模板
  • 山东省建设厅继续教育网站wordpress 年份
  • 增城网站建设公司本周国内重大新闻十条
  • 河南省网站建设代客做网站
  • 地方网站源码做网站公司需要帮客户承担广告法吗
  • 网站开发与网页制作的区别平面设计哪里学
  • wordpress 门户网站涿州城乡建设局网站
  • 怎样建设公司网站小程序个人网页制作模板免费
  • 记录网站 自己做一对一视频网站建设
  • 搭建网站要用到的工具做百度网站需要多少钱
  • 娄底网站建设的话术微信公众号平台怎么上传wordpress
  • 网站权重批量查询vs2005做的网站转换为2012
  • 注册网站诚信承诺书织梦网站反应速度慢
  • 入侵网站后台管理系统企业crm销售管理系统
  • 哈尔滨制作网站多少钱健康服务管理中心