WPF 之 WPF应用程序事件
当新建一个wpf应用程序,会自动生成一个App.xaml和MainWindow.xaml文件。
其中 App.xam 用来设置Application,应用程序的起始文件和资源及应用程序的一些属性和事件的设置,app.xaml.cs是处理应用程序的相关资源和事件。MainWindow.xaml是相应的窗体文件。
app.xaml及app.xaml.cs主要通过操作application对象来控制应用程序。
application对象包含的事件:
1) Activated 当应用程序成为前台应用程序时发生。
2) Deactivated 当应用程序停止作为前台应用程序时发生。
3) DispatcherUnhandledException 在异常由应用程序引发但未进行处理时发生。
4) Exit 恰好在应用程序关闭之前发生,且无法取消。
5) FragmentNavigation 当应用程序中的导航器开始导航至某个内容片断时发生,如果所需片段位于当前内容中,则导航会立即发生;或者,如果所需片段位于不同内容中,则导航会在加载了源 XAML 内容之后发生。
6) LoadCompleted 在已经加载、分析并开始呈现应用程序中的导航器导航到的内容时发生。
7) Navigated 在已经找到应用程序中的导航器要导航到的内容时发生,尽管此时该内容可能尚未完成加载。
8) Navigating 在应用程序中的导航器请求新导航时发生。
9) NavigationFailed 在应用程序中的导航器在导航到所请求内容时出现错误的情况下发生。
10) NavigationProgress 在由应用程序中的导航器管理的下载过程中定期发生,以提供导航进度信息。
11) NavigationStopped 在调用应用程序中的导航器的 StopLoading 方法时发生,或者当导航器在当前导航正在进行期间请求了一个新导航时发生。
12) SessionEnding 在用户通过注销或关闭操作系统而结束 Windows 会话时发生。
13) Startup 在调用 Application 对象的 Run 方法时发生。
以startup事件为例:
在App.xaml中做事件的绑定,在App.xaml.cs文件中添加事件的处理方法。
在App.xaml文件中:
<Application x:Class="MyFirstWPF.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="WPFWindowDeal.xaml" Startup="Application_Startup">
<Application.Resources> </Application.Resources>
</Application>
在App.xaml.cs文件中:
namespace MyFirstWPF
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
private void Application_Startup(object sender, StartupEventArgs e)
{
// 定义应用程序启动时要处理的内容
}
}
}
MainWindow为窗体文件
常用的窗体事件:
1) Show() 显示非模态窗口;
2) ShowDialog() 显示模态窗口 ;
3) Close() 关闭窗体,并释放窗体的资源 ;
4) Closing事件、Closed事件 关闭时、关闭后引发的事件,通常在Closing事件中提示用户是否退出;
5) Activate() 激活某窗体 ;
6) Activated、Deactivated事件 当窗体激动、失去焦点时引发的事件 ;
7) Loaded 窗体第一次启动时,需要加载窗体中的内容、空间等,第一次加载完成后引发该事件,通常可以在该事件中进行一些界面以及数据的初始化操作;
8) ContentRendered 在窗体的内容显示完成后引发该事件;
9) Unloaded 在窗体中的显示元素全部移除之后引发该事件,这时窗体已经接近死亡,同样可以在事件处理函数中进行资源释放等操作。
使用这些事件的方法有两种:
第一种:在前台声名,后台写相应的方法:
<Window x:Class="MyFirstWPF.WPFWindowDeal"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WPFWindowDeal" Height="370" Width="405" Loaded="wndMain_Loaded" >
<Canvas>
<TextBlock Canvas.Right="347" Canvas.Bottom="298" Height="21" Text="播£¤放¤?" Name="txtDate"/>
</Canvas>
</Window>
后台代码:
void WPFWindowDeal_Loaded(object sender, RoutedEventArgs e)
{
txtDate.Text = "测试。。。";
}
第二种:在后台中注册委托事件
this.Loaded += new RoutedEventHandler(WPFWindowDeal_Loaded);
void WPFWindowDeal_Loaded(object sender, RoutedEventArgs e)
{
myMedia.Source = new Uri(@"..\Source\XianJian.wmv", UriKind.Relative);
txtDate.Text = "开a始º?播£¤放¤?。¡ê。¡ê。¡ê。¡ê。¡ê";
myMedia.Play();
isPlaying = true;
}
WPF 之 WPF应用程序事件的更多相关文章
- WPF 为资源字典 添加事件响应的后台类
原文:WPF 为资源字典 添加事件响应的后台类 前言,有许多同学在写WPF程序时在资源字典里加入了其它控件,但又想写事件来控制这个控件,但是资源字典没有CS文件,不像窗体XAML还有一个后台的CS文件 ...
- 【炫丽】从0开始做一个WPF+Blazor对话小程序
大家好,我是沙漠尽头的狼. .NET是免费,跨平台,开源,用于构建所有应用的开发人员平台. 本文演示如何在WPF中使用Blazor开发漂亮的UI,为客户端开发注入新活力. 注 要使WPF支持Blazo ...
- WCF/WPF公司内部订餐程序开发
WCF/WPF公司内部订餐程序开发 (服务端篇) 上班的第一天,群里讨论关于订餐的问题,所以想到了要不要自己开发一个公司内部的订餐系统呢?方便公司内部员工的订餐,有了想法就简单的实践了下 . 实现还是 ...
- wpf自定义控件中使用自定义事件
wpf自定义控件中使用自定义事件 1 创建自定义控件及自定义事件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 ...
- 在VS2005中设置WPF中自定义按钮的事件
原文:在VS2005中设置WPF中自定义按钮的事件 上篇讲了如何在Blend中绘制圆角矩形(http://blog.csdn.net/johnsuna/archive/2007/08/13/17407 ...
- WPF:如何为程序添加splashScreen?
原文:WPF:如何为程序添加splashScreen? 大家是否还记得在Windows Forms程序中如何实现splashScreen吗?我们一般都会使用Microsoft.VisualBasic. ...
- 【WPF】WPF截屏
原文:[WPF]WPF截屏 引言 .NET的截图控件在网上流传得不多啊,难得发现一个精品截图控件( 传送门),但是无奈是winform的.后来又找到一个周银辉做的WPF截图(继续传送门),发现截屏是实 ...
- 微信小程序事件
微信小程序事件1.什么是事件2.事件类别3.事件冒泡4.事件绑定5.事件对象详解笔记:1.事件是一种用户的行为,是一种通讯方式.2.事件类别: 点击事件:tap 长按事件:longtap ...
- Qt状态机框架(状态机就开始异步的运行了,也就是说,它成为了我们应用程序事件循环的一部分了)
状态机框架 Qt中的状态机框架为我们提供了很多的API和类,使我们能更容易的在自己的应用程序中集成状态动画.这个框架是和Qt的元对象系统机密结合在一起的.比如,各个状态之间的转换是通过信号触发的,状态 ...
- 【WPF】wpf用MultiBinding解决Converter需要动态传参的问题,以Button为例
原文:[WPF]wpf用MultiBinding解决Converter需要动态传参的问题,以Button为例 用Binding并通过Converter转换的时候,可能偶尔会遇到传参的问题, ...
随机推荐
- linux中ctrl+z和ctrl+c的区别
ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.ctrl+c是强制中断程序的执行,而ctrl+z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用f ...
- 2016 CCPC 杭州站 小结
5题倒数第一,铜……(我就知道我们很稳!!!哼!! 这一次心态完全爆炸 开场我就没有按照平时的顺序读题 然后zr的A题wa 我F题T xl说B是一个最小生成树,又说是最小树形图,不会写 K题完全没思路 ...
- 操作失败,没有该服务权限![ 机构号:99 ,用户ID:50000009 ,服务号:0101030112 ]
操作失败,没有该服务权限![ 机构号:99 ,用户ID:50000009 ,服务号:0101030112 ] 此时我们可以把代码 SERVICE_NO 改成 10个0 即 0000000000 ,就可 ...
- beantool.map2Bean(map,obj)
- [置顶] 2013 Multi-University Training Contest 8
1003 Mine 简单sg的博弈题,我们走入了nim博弈的误区,后来发现改了三四个字符就过了....我只能说我是sbsbsbsbsbsb...判奇偶啊... #pragma comment(link ...
- HDU 4035Maze(概率DP)
HDU 4035 Maze 体会到了状态转移,化简方程的重要性 题解转自http://blog.csdn.net/morgan_xww/article/details/6776947 /** dp ...
- mysql index的长度限制
在InnoDB Storage Engine中单独一个列的最大的索引长度为767bytes,utf8字符集中,一个字符占3个字节,所以如果列的类型为char,那么要想在此列上建立索引,此列最多只能有2 ...
- Jquery 操作 radio选中值
1.获取radio选中值 1.1 $('input:radio:checked').val(); 1.2 $("input[type='radio']:checked").va ...
- [转]ViewPager onPageChangeListener总结
android ViewPager滑动事件讲解 首先ViewPager在处理滑动事件的时候要用到OnPageChangeListener OnPageChangeListener这个接口需要实现三个方 ...
- Kafka架构设计:分布式发布订阅消息系统
[http://www.oschina.net/translate/kafka-design](较长:很详细的讲解) [我们为什么要搭建该系统]用作LinkedIn的活动流(activity stre ...