浅析C#(WPF)中的Application类

Application类

封装WFP应用程序。

命名空间:System.Windows

语法:public class Application : DispatcherObject, IQueryAmbient

可以看到Application继承了DispatcherObject类和IQueryAmbient接口。

首先看一下DispatcherObject类

DispatcherObject类

表示与Dispatcher关联的对象

命名空间:System.Windows.Threading

语法:pulic abstract class DispatcherObject

那么Dispatcher又是什么呢?

Dispatcher类

提供用于管理线程工作项队列的服务

语法:public sealed class Dispatcher

这里特别谈一下Dispatcher的Invoke方法(Action)

执行指定的Action的线程同步Dispatcher与之关联。

那么Action又是什么呢?

Action委托

封装一个方法,该方法不具有参数并且不返回值。

语法:public delegate void Action()

接下来看一下IQueryAmbient接口

IQueryAmbient接口

查询是否将指定的属性视为当前范围中的环境属性。

命名空间:System.Windows.Markup

语法:public interface IQueryAmbient

下面介绍几个Application类的属性

Current属性

获取当前AppDomain的Application对象

语法:public static Application Current { get; }

Dispatcher属性

获取与此 DispatcherObject 关联的 Dispatcher。 (继承自 DispatcherObject。)

通过以上基础知识的储备,我们可以写出这样的代码:

System.Windows.Application.Current.Dispatcher.Invoke(new Action(() =>
{
    StartCpuShow();
}));

上诉代码中用到了lambda表达式,如有疑问,可以参阅博客“浅析C#中的Lambda表达式

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-10 00:00:45

浅析C#(WPF)中的Application类的相关文章

WPF中的Application类。

原文:WPF中的Application类. Application对象用的名称空间是system.windows 1.手动创建Application对象步骤. 1.1).把项目中的App.Xaml文件从项目中排除. 1.2).新建Startup类. 1.3).在类中声明静态的.无返回值的Main方法. 1.4).在方法中创建application对象和窗口对象. public class Startup { [STAThread] //指定应用程序的 COM 线程模式是单线程单元(STA) st

WPF中的常用类汇总:

1.FrameworkElement: WPF中大部分的控件都可以转化成FrameworkElement,利用FrameworkElement属性获取相应的值: 2.WPF获取当前工作区域的宽度和高度 SystemParameters.PrimaryScreenWidth  ---获取工作区域的宽度 SystemParameters.PrimaryScreenHeight ---获取工作区域的高度 3.DependencyObject: 该类是所有控件类型的父类:利用该类可以获取某些抽象属性:

WPF 中关于 DataTemplateSelector 类的应用

MSDN的解释: 提供一种根据数据对象和与该数据绑定的元素来选择数据模板 DataTemplate 的方法. 示例代码: <Window x:Class="WpfApplication1.Window2" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

WPF Application 类介绍以及WPF异常处理

现在把wpf中的application和特殊的异常处理办法公布如下: wpf中对启动窗体等的控制 是APP.XAML文件和其cs文件下面,可以在XAML中进行编码,也可以在后台cs代码中编码 首先讲解Application类 属性: Current                  获取当前 AppDomain的 Application 对象 MainWindow           获取或设置应用程序的主窗体.(下面详细介绍) Resources              获取或设置应用程序范

Android Application 类共享全局数据

android系统会为每个程序运行时创建一个Application类的对象且仅创建一个,所以Application可以说是单例模式的一个类.且application对象的生命周期是整个程序中最长的,它的生命周期就等于这个程序的生命周期.因为它是全局的单例的,所以在不同的Activity,Service中获得的对象都是同一个对象.所以通过Application来进行一些,数据传递,数据共享 等,数据缓存等操作,代码如下: package com.example.five; import andro

WPF中的MatrixTransform

原文:WPF中的MatrixTransform WPF中的MatrixTransform                                                                              周银辉 虽然在WPF中可以使用TranslateTransform.RotateTransform.ScaleTransform等进行几何变换,但我们也可以使用更底层的MatrixTransform(矩阵变换)来进行更复杂的复合变换. 首先我们矩阵如何影响

正确理解WPF中的TemplatedParent

(注:Logical Tree中文称为逻辑树,Visual Tree中文称为可视化树或者视觉树,由于名称不是很统一,文中统一用英文名称代表两个概念,况且VisualTreeHelper和LogicalTreeHelper也是WPF中提供的类名称) 众所周知WPF中的Logical Tree是逻辑上定义的元素层次树,而实际上显示在屏幕上的元素层次树是Visual Tree,Visual Tree是 (注:Logical Tree中文称为逻辑树,Visual Tree中文称为可视化树或者视觉树,由于

六,WPF的Application类

Application.ShutdownMode属性:通过,只要有一个窗口还没有关闭,Application类就保持应用程序处于有效状态,如果这不是所期望的行为,就可以调整该属性. 应用程序事件 Application提供了为数不多的几个非常有用的事件,如下图所示: 有两种选择用于处理事件:在XAML中使用事件特性的方式关联事件处理程序,或重写相应的受保护方法,当重写应用程序方法时,推荐首先调用基类的实现,通常,基类的实现只是引发相应的应用程序事件. 初始界面(SplashScreen) WPF

博客园WPF Application类

所有的WPF程序,都是由Application类实例创建,该类负责打开当前应用程序和窗体,并且决定如何关闭应用程序等.Application类的主要功能可以简单总结以下几点: 1.保持主线程 使用Application后,只要有窗体没有退出,则应用程序不会退出,他会重新定义出新的主窗体,只有所有的窗体都关闭,Appliction才决定是否退出应用程序.Application起到管理所有窗体的作用.看如下代码: class Program { [STAThread()] static void M