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;
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM