国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

WPF應(yīng)用程序生存期以及相關(guān)事件

這篇具有很好參考價(jià)值的文章主要介紹了WPF應(yīng)用程序生存期以及相關(guān)事件。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

  • ?WPF?應(yīng)用程序的生存期會(huì)通過(guò) Application 引發(fā)的幾個(gè)事件來(lái)加以標(biāo)記,相關(guān)事件對(duì)應(yīng)著應(yīng)用程序何時(shí)啟動(dòng)、激活、停用和關(guān)閉。

應(yīng)用程序生存期事件

  • ??獨(dú)立應(yīng)用程序(傳統(tǒng)風(fēng)格的 Windows 應(yīng)用程序,這些應(yīng)用程序作為要安裝到客戶端計(jì)算機(jī)并從客戶端計(jì)算機(jī)運(yùn)行的可執(zhí)行程序集來(lái)生成)和 XAML 瀏覽器應(yīng)用程序 (XBAP)(由導(dǎo)航頁(yè)組成的應(yīng)用程序,這些應(yīng)用程序作為可執(zhí)行程序集生成并由Web 瀏覽器托管) 的生存期并非完全相同。

  • ??下圖展示了獨(dú)立應(yīng)用程序生存期內(nèi)的各個(gè)關(guān)鍵事件及其引發(fā)順序。

WPF應(yīng)用程序生存期以及相關(guān)事件,WPF,wpf,WPF事件處理,WPF相關(guān)事件,WPF事件總結(jié)?

?同樣的,下圖展示了 XAML 瀏覽器應(yīng)用程序 (XBAP)生存期內(nèi)的各個(gè)關(guān)鍵事件及其引發(fā)順序。

?WPF應(yīng)用程序生存期以及相關(guān)事件,WPF,wpf,WPF事件處理,WPF相關(guān)事件,WPF事件總結(jié)

創(chuàng)建WPF應(yīng)用程序并驗(yàn)證生存期相關(guān)事件

  • ??在app.xmal中綁定相關(guān)事件以及啟動(dòng)設(shè)置Shutdown返回代碼模式

?

// app.xanl 文件
// 綁定相關(guān)事件
<Application x:Class="WpfFirstApp.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:WpfFirstApp"
             StartupUri="MainWindow.xaml"
             Startup="Application_Startup"
             Activated="Application_Activated"
             Deactivated="Application_Deactivated"
             DispatcherUnhandledException="App_DispatcherUnhandledException"
             Exit="Application_Exit"
             ShutdownMode="OnMainWindowClose">
    <Application.Resources>
         
    </Application.Resources>
</Application>
// App.xaml.cs 相關(guān)代碼
using System.Configuration;
using System.Data;
using System.Diagnostics;
using System.Windows;
using System.Windows.Threading;

namespace WpfFirstApp
{
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {
        /// <summary>
        /// 啟動(dòng)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            Debug.WriteLine("應(yīng)用啟動(dòng)了:Startup");

            //this.ShutdownMode = ShutdownMode.OnMainWindowClose;
        }

        /// <summary>
        /// 獲得焦點(diǎn)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Application_Activated(object sender, EventArgs e)
        {
            Debug.WriteLine("應(yīng)用獲得焦點(diǎn)了:Activated");
        }

        /// <summary>
        /// 失去焦點(diǎn)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Application_Deactivated(object sender, EventArgs e)
        {
            Debug.WriteLine("應(yīng)用失去焦點(diǎn)了:Deactivated");
        }

        /// <summary>
        /// 異常
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
        {
            Debug.WriteLine("應(yīng)用出現(xiàn)未處理的異常:DispatcherUnhandledException");

            //設(shè)置為已處理了異常
            e.Handled = true;
        }

        /// <summary>
        /// 退出
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Application_Exit(object sender, ExitEventArgs e)
        {
            Debug.WriteLine("程序關(guān)閉退出了:Exit");
        }
    }
}
//MainWindow.xaml.cs 相關(guān)代碼
// 按鈕里模擬相關(guān)處理
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WpfFirstApp
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Dispatcher.Invoke(() =>
            {
                throw new Exception("模擬異常");
                //throw new InvalidOperationException("模擬異常");
            });
        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            Dispatcher.Invoke(() =>
            {
                Application.Current.Shutdown(9999);
            });
        }
    }
}

?

WPF應(yīng)用程序生存期以及相關(guān)事件,WPF,wpf,WPF事件處理,WPF相關(guān)事件,WPF事件總結(jié)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-808635.html

到了這里,關(guān)于WPF應(yīng)用程序生存期以及相關(guān)事件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 如何為WPF應(yīng)用程序制作一個(gè)虛擬鍵盤?這里有答案(Part 1)

    如何為WPF應(yīng)用程序制作一個(gè)虛擬鍵盤?這里有答案(Part 1)

    Telerik UI for WPF擁有超過(guò)100個(gè)控件來(lái)創(chuàng)建美觀、高性能的桌面應(yīng)用程序,同時(shí)還能快速構(gòu)建企業(yè)級(jí)辦公WPF應(yīng)用程序。UI for WPF支持MVVM、觸摸等,創(chuàng)建的應(yīng)用程序可靠且結(jié)構(gòu)良好,非常容易維護(hù),其直觀的API將無(wú)縫地集成Visual Studio工具箱中。 點(diǎn)擊獲取Telerik UI for WPF最新版下載 T

    2024年02月09日
    瀏覽(23)
  • 【自動(dòng)化】在WPF應(yīng)用程序中使用MVVM框架實(shí)現(xiàn)Modbus協(xié)議通信

    Modbus是一種廣泛應(yīng)用于工業(yè)領(lǐng)域的通信協(xié)議,主要用于設(shè)備間的數(shù)據(jù)交換。在WPF應(yīng)用程序中,我們可以使用MVVM(Model-View-ViewModel)框架來(lái)實(shí)現(xiàn)Modbus協(xié)議的通信。本文將詳細(xì)介紹如何實(shí)現(xiàn)這一功能。 為了在WPF應(yīng)用程序中實(shí)現(xiàn)Modbus協(xié)議通信,我們需要安裝一些第三方庫(kù)??梢允褂?/p>

    2024年03月22日
    瀏覽(35)
  • C# WPF應(yīng)用使用visual studio的安裝程序類的一些坑

    C# WPF應(yīng)用使用visual studio的安裝程序類的一些坑

    否則會(huì)出現(xiàn)命名空間System.Configuration不存在Install的報(bào)錯(cuò) ? var s = Context.Parameters[\\\"assemblypath\\\"].ToString() 這個(gè)里面是當(dāng)前文件的路徑,所以需要?jiǎng)h除掉文件的名字才能獲取目錄路徑 var dir = s.Substring(0, s.LastIndexOf(\\\"\\\\\\\") + 1)

    2024年02月12日
    瀏覽(26)
  • 虛擬桌寵模擬器:VPet-Simulator,一個(gè)開源的桌寵軟件, 可以內(nèi)置到任何WPF應(yīng)用程序

    虛擬桌寵模擬器:VPet-Simulator,一個(gè)開源的桌寵軟件, 可以內(nèi)置到任何WPF應(yīng)用程序

    虛擬桌寵模擬器 一個(gè)開源的桌寵軟件, 可以內(nèi)置到任何WPF應(yīng)用程序 獲取虛擬桌寵模擬器 OnSteam(免費(fèi)) 或 通過(guò)[Nuget]內(nèi)置到你的WPF應(yīng)用程序 虛擬桌寵模擬器是一款桌寵軟件,支持各種互動(dòng)投喂等. 開源免費(fèi)并且支持創(chuàng)意工坊. 反正免費(fèi)為啥不試試呢( 該游戲?yàn)?[虛擬主播模擬器] 內(nèi)

    2024年02月08日
    瀏覽(33)
  • 關(guān)于WPF中Command綁定傳參數(shù)以及將命令綁定到其它事件的方法

    關(guān)于WPF中Command綁定傳參數(shù)以及將命令綁定到其它事件的方法

    前言:在WPF中,將命令綁定到一個(gè)Button的Command屬性中是非常簡(jiǎn)單的事情,例如: 但是很多時(shí)候,我們要實(shí)現(xiàn)其它事件的命令綁定,以此實(shí)現(xiàn)徹底的MVVM開發(fā)模式,那就得用到微軟另外一個(gè)神器了!它就是程序集System.Windows.Interactivity,在網(wǎng)上可以下載System.Windows.Interactivity.dll這

    2024年02月11日
    瀏覽(25)
  • 界面控件DevExpress WPF屬性網(wǎng)格 - 讓應(yīng)用輕松顯示編輯各種屬性事件

    界面控件DevExpress WPF屬性網(wǎng)格 - 讓應(yīng)用輕松顯示編輯各種屬性事件

    DevExpress WPF?Property Grid(屬性網(wǎng)格)靈感來(lái)自于Visual Studio,Visual Studio啟發(fā)的屬性窗口(對(duì)象檢查器)讓在WPF應(yīng)用程序顯示和編輯任何對(duì)象的屬性和事件變得更容易! P.S :DevExpress WPF擁有120+個(gè)控件和庫(kù),將幫助您交付滿足甚至超出企業(yè)需求的高性能業(yè)務(wù)應(yīng)用程序。通過(guò)DevExpress

    2024年01月18日
    瀏覽(33)
  • WPF 與 Winform 的區(qū)別以及應(yīng)用場(chǎng)景

    一、WPF框架以及應(yīng)用場(chǎng)景 ? WPF框架 ? 1.1、WPF與WinForm ? WPF :https://github.com/dotnet/wpf ? SilverLight : Web富客戶端 ? 1.2、異/同點(diǎn) ? 共同點(diǎn):最終的輸出結(jié)果都是客戶端應(yīng)用,實(shí)現(xiàn) 人機(jī)交互。 ? 異同點(diǎn): ? 界面渲染不一樣 ? 業(yè)務(wù)邏輯控制不一樣(界面設(shè)計(jì),色彩、尺寸比

    2024年02月09日
    瀏覽(32)
  • C#控制臺(tái)應(yīng)用程序如何添加窗口關(guān)閉事件?

    C#控制臺(tái)應(yīng)用程序如何添加窗口關(guān)閉事件?

    公司有一個(gè)控制臺(tái)應(yīng)用程序,在關(guān)閉控制臺(tái)應(yīng)用程序窗口前,想處理一下業(yè)務(wù)邏輯。還有比如誤操作關(guān)閉了,或者像消息隊(duì)列啟動(dòng)了發(fā)送消息提醒,那關(guān)閉了窗口代表控制臺(tái)應(yīng)用銷毀了,也需要發(fā)送消息通知。那這個(gè)時(shí)候添加關(guān)閉窗口事件就派上用場(chǎng)了。 很多小伙伴問(wèn),有沒(méi)

    2024年02月13日
    瀏覽(27)
  • 事件驅(qū)動(dòng)編程:如何在應(yīng)用程序中處理用戶輸入和交互

    [toc] 引言 1.1. 背景介紹 隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,應(yīng)用程序被廣泛應(yīng)用于人們的生活和工作中。在這些應(yīng)用程序中,用戶輸入和交互是必不可少的組成部分。如何優(yōu)雅地處理用戶輸入和交互,讓應(yīng)用程序更加符合用戶的使用習(xí)慣,是擺在每個(gè)程序員面前的一個(gè)重要問(wèn)題。

    2024年02月07日
    瀏覽(33)
  • Node.js 中的事件驅(qū)動(dòng)編程:構(gòu)建強(qiáng)大應(yīng)用程序的利器

    引言: 在當(dāng)今高度并發(fā)的網(wǎng)絡(luò)環(huán)境下,構(gòu)建高效、響應(yīng)迅速的應(yīng)用程序是開發(fā)人員的一項(xiàng)重要任務(wù)。Node.js,作為一種基于事件驅(qū)動(dòng)編程模型的 JavaScript 運(yùn)行環(huán)境,為開發(fā)人員提供了一個(gè)強(qiáng)大的工具。本文將介紹 Node.js 中的事件模型以及如何使用事件驅(qū)動(dòng)編程模式構(gòu)建強(qiáng)大的

    2024年02月10日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包