zoukankan      html  css  js  c++  java
  • WPF Application类

    本人不才学过一点点WinForm,现在正在利用非工作时间学习WPF,可惜没有任性,时不时的偷懒、不看书也不更新博客,嘿嘿…大侠见笑。

    下面是我的一个关于Application类的一个小Practice(当然、还没有做完、后续更新…)

    XAML部分代码
    <Application x:Class="ApplicationDemo.App"
    xmlns
    ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x
    ="http://schemas.microsoft.com/winfx/2006/xaml"
    StartupUri
    ="MainWindow.xaml" Activated="Application_Activated"
    Deactivated
    ="Application_Deactivated" Exit="Application_Exit"
    Startup
    ="Application_Startup" SessionEnding="Application_SessionEnding">
    <Application.Resources>

    </Application.Resources>
    </Application>
    代码
    /// <summary>
    /// App.xaml 的交互逻辑
    /// </summary>
    public partial class App : Application
    {

    #region Application 类中的普通事件处理
    /// <summary>
    /// 应用程序成为了前台应用程序
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Application_Activated(object sender, EventArgs e)
    {
    Console.WriteLine(
    "WPF应用程序成为了前台应用程序");
    }

    /// <summary>
    /// 应用程序停止成为了前台应用程序
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Application_Deactivated(object sender, EventArgs e)
    {
    Console.WriteLine(
    "WPF应用程序 停止 成为了前台应用程序");
    }

    /// <summary>
    /// 应用程序退出,但此时已经无法停止应用程序的退出
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Application_Exit(object sender, ExitEventArgs e)
    {
    MessageBox.Show(
    "应用程序将要退出,但此时已经无法停止应用程序的退出");
    }
    /// <summary>
    /// 用户注销或者关闭了操作系统
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Application_SessionEnding(object sender, SessionEndingCancelEventArgs e)
    {
    MessageBox.Show(
    "用户注销或者关闭了操作系统!");
    }
    /// <summary>
    /// WPF应用程序调用了System.Windows.Application.Run() 方法
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Application_Startup(object sender, StartupEventArgs e)
    {
    MessageBox.Show(
    "WPF应用程序调用了System.Windows.Application.Run() 方法");
    }

    #endregion


    #region Application类元数据

    #region 属性
    //// 摘要:
    //// 获取当前 System.AppDomain 的 System.Windows.Application 对象。
    ////
    //// 返回结果:
    //// 当前 System.AppDomain 的 System.Windows.Application 对象。
    //public static Application Current { get; }
    ////
    //// 摘要:
    //// 获取或设置应用程序的主窗口。
    ////
    //// 返回结果:
    //// 一个指定为应用程序主窗口的 System.Windows.Window。
    ////
    //// 异常:
    //// System.InvalidOperationException:
    //// System.Windows.Application.MainWindow 是从浏览器承载的应用程序(如 XAML browser applications
    //// (XBAPs))设置的。
    //public Window MainWindow { get; set; }
    ////
    //// 摘要:
    //// 获取应用程序范围属性的集合。
    ////
    //// 返回结果:
    //// 一个包含应用程序范围的属性的 System.Collections.IDictionary。
    //public IDictionary Properties { get; }
    ////
    //// 摘要:
    //// 获取或设置为 WPF 应用程序中的资源提供包uniform resource identifiers (URIs) 的 System.Reflection.Assembly。
    ////
    //// 返回结果:
    //// 对为 WPF 应用程序中的资源提供包uniform resource identifiers (URIs) 的 System.Reflection.Assembly
    //// 的引用。
    ////
    //// 异常:
    //// System.InvalidOperationException:
    //// WPF 应用程序具有入口程序集,或者已设置 System.Windows.Application.ResourceAssembly。
    //public static Assembly ResourceAssembly { get; set; }
    ////
    //// 摘要:
    //// 获取或设置应用程序范围资源(如样式和画笔)的集合。
    ////
    //// 返回结果:
    //// 一个包含零个或多个应用程序范围资源的 System.Windows.ResourceDictionary 对象。
    //[Ambient]
    //public ResourceDictionary Resources { get; set; }
    ////
    //// 摘要:
    //// 获取或设置导致调用 System.Windows.Application.Shutdown() 方法的条件。
    ////
    //// 返回结果:
    //// 一个 System.Windows.ShutdownMode 枚举值。默认值为 System.Windows.ShutdownMode.OnLastWindowClose。
    //public ShutdownMode ShutdownMode { get; set; }
    ////
    //// 摘要:
    //// 获取或设置一个在应用程序启动时自动显示的 UI。
    ////
    //// 返回结果:
    //// 一个 System.Uri,引用在应用程序启动时自动打开的 UI。
    ////
    //// 异常:
    //// System.ArgumentNullException:
    //// System.Windows.Application.StartupUri 设置为 null 值。
    //public Uri StartupUri { get; set; }
    ////
    //// 摘要:
    //// 获取应用程序中的实例化窗口。
    ////
    //// 返回结果:
    //// 一个 System.Windows.WindowCollection,包含对当前 System.AppDomain 中的所有窗口对象的引用。
    //public WindowCollection Windows { get; }
    #endregion

    #region 事件 许多没有列出 对应的方法也没有列出
    //// 摘要:
    //// 当应用程序成为前台应用程序时发生。
    //public event EventHandler Activated;
    ////
    //// 摘要:
    //// 当应用程序停止作为前台应用程序时发生。
    //public event EventHandler Deactivated;
    ////
    //// 摘要:
    //// 在异常由应用程序引发但未进行处理时发生。
    //public event DispatcherUnhandledExceptionEventHandler DispatcherUnhandledException;
    ////
    //// 摘要:
    //// 恰好在应用程序关闭之前发生,且无法取消。
    //public event ExitEventHandler Exit;

    ////
    //// 摘要:
    //// 在用户通过注销或关闭操作系统而结束 Windows 会话时发生。
    //public event SessionEndingCancelEventHandler SessionEnding;
    ////
    //// 摘要:
    //// 在调用 System.Windows.Application 对象的 System.Windows.Application.Run() 方法时发生。
    //public event StartupEventHandler Startup;

    #endregion

    #region 一些方法
    ////
    //// 摘要:
    //// 关闭一个应用程序。
    //[TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
    //public void Shutdown();
    ////
    //// 摘要:
    //// 关闭将指定退出代码返回给操作系统的应用程序。
    ////
    //// 参数:
    //// exitCode:
    //// 应用程序的一个整数退出代码。默认退出代码为 0。
    //[SecurityCritical]
    //public void Shutdown(int exitCode);

    #endregion

    #endregion
    }
    C#部分代码
    // 摘要:
    // 使用指定键搜索user interface (UI) 资源(如 System.Windows.Style 或 System.Windows.Media.Brush),并在未找到所请求的资源时引发异常(请参见Resources
    // Overview)。
    //
    // 参数:
    // resourceKey:
    // 要查找的资源名。
    //
    // 返回结果:
    // 所请求的资源对象。如果未找到所请求的资源,则引发 System.Windows.ResourceReferenceKeyNotFoundException。
    //
    // 异常:
    // System.Windows.ResourceReferenceKeyNotFoundException:
    // 无法找到资源。
    public object FindResource(object resourceKey);

    //
    // 摘要:
    // 搜索指定资源。
    //
    // 参数:
    // resourceKey:
    // 要查找的资源名。
    //
    // 返回结果:
    // 所请求的资源对象。如果未找到所请求的资源,则返回 null 引用。
    public object TryFindResource(object resourceKey);


    返回导读目录,阅读更多随笔



    分割线,以下为博客签名:

    软件臭虫情未了
    • 编码一分钟
    • 测试十年功


    随笔如有错误或不恰当之处、为希望不误导他人,望大侠们给予批评指正。

  • 相关阅读:
    iOS 开发中的争议(一)
    好用的第三方控件,Xcode插件(不断更新)
    Objective-C Runtime 运行时之四:Method Swizzling
    Objective-C Runtime 运行时之一:类与对象
    va_start和va_end使用详解
    [Objective-C]关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)
    IOS开发之----#import、#include和@class的区别
    ARC
    iOS所有常见证书,appID,Provisioning Profiles配置说明及制作图文教程
    WWDC笔记:2013 Session 201 Building User Interfaces for iOS 7
  • 原文地址:https://www.cnblogs.com/08shiyan/p/1831490.html
Copyright © 2011-2022 走看看