zoukankan      html  css  js  c++  java
  • 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(@"..SourceXianJian.wmv", UriKind.Relative);
                txtDate.Text = "开a始º?播£¤放¤?。¡ê。¡ê。¡ê。¡ê。¡ê";
                myMedia.Play();
                isPlaying = true;
            }
  • 相关阅读:
    归并排序
    1、钢条切割问题
    webdriver高级应用- 使用日志模块记录测试过程中的信息
    webdriver高级应用- 测试过程中发生异常或断言失败时进行屏幕截图
    webdriver高级应用- 浏览器中新开标签页(Tab)
    webdriver高级应用- 高亮显示正在操作的页面元素
    webdriver高级应用- 精确比较页面截图图片
    webdriver高级应用- 操作富文本框
    webdriver高级应用- 启动带有用户配置信息的firefox浏览器窗口
    webdriver高级应用- 操作日期控件
  • 原文地址:https://www.cnblogs.com/xinaixia/p/5549328.html
Copyright © 2011-2022 走看看