App.xaml用途是什么?怎么传递参数和使用?

来源:互联网 发布:java就业班视频 编辑:程序博客网 时间:2024/05/16 09:09

Silverlight里面有个App.xaml和App.xaml.cs,是干什么的,用途是什么,怎么和它传递参数呢?

2011-02-23 10h29_50

使用它里面的public参数很简单,假设在MainPage.xaml.cs你可以这样访问:

(Application.Current as App).YourPublicParam

同样,在Silverlight Class Library类库项目中你也可以用上面的方法访问App里面的变量,因为Application.Current是application全局的。

App.xaml来源

App.xaml和App.xaml.cs存在于Silverlight和WPF项目中,它来源于System.Windows.Application类库,如果熟悉Winform开发的就应该对这个东西比较熟悉。当Silverlight Application启动的时候,顺序是这样的:

  • 没有 Main() 方法
  • 启动 App 构造器
    • 把 Application_Startup 事件handler绑定到App.Startup属性
    • Application_Exit 事件handler绑定到App.Exit 属性
    • Application_UnhandledException事件handler绑定到UnhandledException 属性
    • 触发InitializeComponent
  • Application_Startup
    • 创建新的 Page 对象实例
    • 把 App.RootVisual 指向这个Page对象
  • InitializeComponent
    • 调用Application.LoadComponent, 传递Uri 对象到 App.xaml

    App.xaml用途

  • 定义全局资源:我们可以把Application级别的资源放在这里,用Application.Resources属性访问,常用的有styles, data templates,control templates。
  • 全局事件处理:Startup, Exit 和UnhandledException.
  • 全局引用Application.Current
  • 指定RootVisible: RootVisual 用来设置Silverlight启动控件,这个属性在 Startup 事件中设置.
  • 本地安装application:使用Install 方法你可以让用户在浏览器外本地安装application
  • 检查更新:本地安装的时候可以用CheckAndDownloadUpdateAsync 方法检查.xap文件是否最新