XAML常用事件

2024-03-10 21:40
文章标签 事件 常用 xaml

本文主要是介绍XAML常用事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

开发工具与关键技术:Visual Studio 2017
作者:邓李庆
撰写时间:2019年6月3日
下面讲的是常用事件和属性,默认不能看到的控件有:DocumentViewerBase 提供用于显示固定内容或流动内容(分别由 System.Windows.Documents.FixedDocument 或 System.Windows.Documents.FlowDocument 表示)的查看器的基类。DocumentPageView 表示已分页 System.Windows.Documents.DocumentPage 的视区。 FlowDocumentPageViewer 表示一个用于在固定查看模式下查看流内容的控件,该模式一 次显示一页内容。FlowDocument 用高级文档功能(如分页和列)承载流内容和设置流内容格式。 定义一个文档,文档样式。
Button常用事件和属性表:

Click当点击按钮时触发
ClickMode获取或设置Click事件触发时,设备行为的依据
Command获取或设置当按钮被按下时调用的命令
IsPointerOver获取一个值,标明设备的指针是否在按钮控件上
IsPressed获取一个值,标明按钮是否是按钮下的状态

RadioButton常用事件和属性

Checked当切换到选中状态是触发
Indeterminate当切换到不确定状态是触发
Unchecked当切换到未选中时触发
GroupName获取或设置RadioButton控件的组名称

ComboBox常用方法、事件和属性:

DropDownClosed当ComboBox下拉框关闭时触发
DropDownOpened当ComboBox下拉框打开时触发
OnDropDownClosed当ComboBox下拉框关闭时被调用
OnDropDownOpened当ComboBox下拉框打开时被调用
IsDropDownOpenProperty标识Combox的下拉框状态
IsSelectionBoxHighlightted获取或设置选择的条目是否高亮显示
SelectedIndex获取或设置选择的索引值

Windows消息机制中重要概念之一,最常见的人机交互手段之一,XAML帮助应用管理用户输入,执行不同的行为。引入增强型事件处理系统—Routed Event(路由事件)事件常常被用于控制更改通知操作。WPF中的事件为路由事件,所谓路由事件,MSDN定义:
功能定义:路由事件是一种可以针对元素树中的多个侦听器(而不是仅针对引发该事件的对象)调用处理程序的事件。
实现定义:路由事件是一个 CLR 事件,可以由 RoutedEvent 类的实例提供支持并由 Windows Presentation Foundation (WPF) 事件系统来处理。
中断事件路由:所有的路由事件都共享一个公共的事件数据基类RoutedEventArgs。 RoutedEventArgs 定义了一个采用布尔 值的 Handled 属性。 Handled 属性的目的在于,允许路由中的任何事件处理程序通过将 Handled 的值设置为 true 来将路由事件标记为“已处理”。在下面的例子中,见代码图:
在这里插入图片描述
将不再触发StackPanel_MouseUp事件;
在这里插入图片描述
路由事件是WPF路由事件中最常见,它表示事件从源元素扩散(传播)到可视树,直到它被处理或到达根元素。这样就可以针对源元素的上方层级对象处理事件,可向嵌入的Grid元素附加一个Button.Click处理程序,而不是直接将其附加到按钮本身。气泡事件有指示其操作名称。路由事件通常遵循以下两个路由策略之一:浮升和隧道。 此示例重点介绍浮升事件,并使用ButtonBase.Click事件可显示路由的工作原理。创建两个Button控制,并使用XAML特性语法将事件处理程序附加到公用父元素,它在此示例中为StackPanel。而不是将单个事件处理程序附加每个Button子元素,该示例使用特性语法将附加到的事件处理程序StackPanel父元素。此事件处理模式展示了如何使用事件路由技术来减少附加处理程序的元素数。所有浮升事件Button通过父元素路由。隧道事件采用另一种方式,从根元素开始,向下遍历元素树,直到被处理或到达事件的源元素。这样上游元素就可以在事件到达源元素之前先行截取并进行处理。根据命名惯例,隧道事件带有前缀 Preview例如 (PreviewMouseDown)
区别有:冒泡事件:在YesTB上点击,首先弹出“button”,再弹出“panel”;预览事件(隧道事件)事件:在YesTB上点击,首先弹出“panel”,再弹出“button”; 冒泡事件例子中:e.Handled=true加在YesTB_PreviewMouseUp中,加入后,点击YesTB,将只弹出“button”,见代码图:
在这里插入图片描述
下面的示例处理Click事件。 该示例会报告哪个元素处理事件以及哪个元素引发事件。 用户 单击任一按钮时都将执行事件处理程序。
在这里插入图片描述

这篇关于XAML常用事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/795606

相关文章

golang中reflect包的常用方法

《golang中reflect包的常用方法》Go反射reflect包提供类型和值方法,用于获取类型信息、访问字段、调用方法等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录reflect包方法总结类型 (Type) 方法值 (Value) 方法reflect包方法总结

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

Python将字符串转换为小写字母的几种常用方法

《Python将字符串转换为小写字母的几种常用方法》:本文主要介绍Python中将字符串大写字母转小写的四种方法:lower()方法简洁高效,手动ASCII转换灵活可控,str.translate... 目录一、使用内置方法 lower()(最简单)二、手动遍历 + ASCII 码转换三、使用 str.tr

Spring Boot 常用注解整理(最全收藏版)

《SpringBoot常用注解整理(最全收藏版)》本文系统整理了常用的Spring/SpringBoot注解,按照功能分类进行介绍,每个注解都会涵盖其含义、提供来源、应用场景以及代码示例,帮助开发... 目录Spring & Spring Boot 常用注解整理一、Spring Boot 核心注解二、Spr

Java中的内部类和常用类用法解读

《Java中的内部类和常用类用法解读》:本文主要介绍Java中的内部类和常用类用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录内部类和常用类内部类成员内部类静态内部类局部内部类匿名内部类常用类Object类包装类String类StringBuffer和Stri