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事件。 该示例会报告哪个元素处理事件以及哪个元素引发事件。 用户 单击任一按钮时都将执行事件处理程序。
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习XAML(Extensible Application Markup Language)是学习WPF的重要一部分。以下是一个XAML学习计划的示例: 1. 了解XAML基础: - 学习XAML的语法和结构:了解XAML的基本语法和标记结构,如标签、属性、命名空间等。 - 学习XAML常用元素:了解常见的XAML元素,如Grid、StackPanel、Button、TextBox等。 2. 理解XAML与C#代码的关系: - 学习如何在XAML中定义界面元素和布局,并通过C#代码与之交互。 - 学习如何在XAML中使用数据绑定,将界面元素与ViewModel中的属性进行连接。 3. 学习UI控件的使用: - 了解WPF常用的UI控件,如Button、TextBox、ComboBox等,并学习它们的使用方法和属性设置。 - 学习如何使用布局容器(如Grid、StackPanel、WrapPanel)来组织和布局界面元素。 4. 学习样式和模板: - 了解如何使用样式和模板来自定义控件的外观和行为。 - 学习如何创建和应用样式,以及如何使用模板来改变控件的默认外观。 5. 学习数据绑定: - 学习如何使用数据绑定将数据与界面元素进行关联,实现数据的双向绑定。 - 了解数据绑定的不同模式,如单向绑定、双向绑定和一次性绑定等。 6. 学习命令和事件: - 学习如何使用命令将用户交互操作与ViewModel中的方法关联起来。 - 了解如何在XAML中处理事件,如按钮点击事件、鼠标移动事件等。 7. 学习动画和视觉效果: - 学习如何使用XAML中的动画和视觉效果,如平移、缩放、透明度等,来实现界面元素的动态效果。 8. 学习自定义控件和用户控件: - 了解如何创建自定义控件,使其具有特定的外观和行为。 - 学习如何将多个控件组合成一个复合控件,以便在应用程序中重复使用。 这只是一个基本的XAML学习计划示例,你可以根据自己的兴趣和需求进行深入学习和实践。阅读相关的书籍、参考文档,以及完成一些实际项目也是提高XAML技能的有效方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值