分享好友 最新动态首页 最新动态分类 切换频道
在哪个网站做流程图比较好看/免费外链发布平台在线
2024-12-26 10:21

Silverlight中的Application类

    本文对应于Silverlight 2帮助文档中"Application Model"章节,微软的介绍顺序或许着眼于宏观架构,而本文则属于问题导向型的介绍。在实际中遇到初始化化页面加载其他xap中的应用程序调用资源文件等问题,在解决过程,不断的参考阅读了这部分内容。尽管单一逐个地解决了问题,但重新组织,并整理下自己的思路,理解将会更加深刻。

    Application类封装了一个Silverlight应用程序(单例模式,它主要表示应用程序代码在 Silverlight 插件生命周期中的入口点(插件激活过程可参考下图)。提供若干服务:应用程序生存期管理、 应用程序资源文件加载、 未处理的异常处理和Web 宿主集成等。"Application Service"

    Application类有三个事件成员StartupExitUnhandledException。在新创建Silverlight应用程序时,在自动生成的App.xaml.cs会看到相应事件的处理方法。ExitUnhandledExeption可查看帮助文档,暂时只关注Startup事件。

    Startup用来在应用程序启动时进行一些初始化操作,最基本的指定RootVisual属性来显示主页面。其次就是检索传进来的参数StartupEventArgs 对象的 InitParams 属性,进行相应的处理,比如如何确定不同的起始主页面,参考TerryLee的《在Silverlight 2应用程序中切换用户控件》。还可以通过HtmlDocument.QueryString从宿主网页中检索URL参数,通过IsolatedStorageSettings类检索先前应用程序的会话数据等。

    此外Startup中也可以检索其他资源,比如用WebClinet等异步下载其他资源文件或程序集。若文件为Zipxap,则要利用到Application.GetResourceStream方法。若文件为程序集,则要创建一个新的AssemblyPart对象,并调用它的Load方法来进行加载。当然,调用其他资源文件,也可不必Startup中进行。比如可以在某页面中点击按钮来触发事件,调用其他xap中的某个程序集。

    理解调用外部xap中程序集的过程,首先需要了解"Application Structure",查看并理解AppManifest.xaml文件。需要注意的是beta2中用Deployment对象来获取AppManifest.xaml文件中的元素已不再有效,可以利用Linq方式读取。可参考《Dynamic Load & Invoke Other Xap For SilverLight 2.0,内容是中文的,这篇文章有改进之处,比如把这个过程抽象为一个方法,可供以后直接调用。

 

    Application类处理上面提到的Application.GetResourceStream方法外,还有一个常见的方法就是Application.LoadComponent。查看page等页面构造函数中InitializeComponent()方法即可看到它的出现。该方法也常用来调用"Build Action"为"Page"的xaml文件,参考《动态加载XAML文件》。

    Application还有其他方法,不再逐一介绍。最后看一下Application的属性CurrentHostResourceRootVisual

    Application.Current用来提供对当前应用程序的 Application 实例的共享访问。由于一般系统自动生成的是从Appliction继承的App,因此常见形式为App currentApp = (App)Application.Current;

    Host,获取有关 Silverlight 应用程序的主机的各种详细信息。比如txtBlock.Text = App.Current.Host.Background;

    Application.Resource常出现在App.xaml文件中,指应用于整个应用程序的资源。相对的就是单一页面域的资源和inline式资源。

RootVisual就来获取或指定应用程序的起始页面。

 

最新文章
通达信最神奇计算系统买卖点指标公式
N:=11;RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;LC:=REF(C,1);CCI背:=IF(LLV(CCI,2)LLV(CCI,7) AND LLV(L,2)=LLV(L,7) AND HHV(H,10)MA(CLOSE,60),1,0),COLORWHITE;A1:=BARSLAST(REF(CROSS(MACD.DIF(12,26,9),MACD.DEA(12,26
这个展会不可错过!1月22日,日本汽车工业技术展……扫码报名免费
2025.1.22-24NEPCON JAPANAUTOMOTIVEWORLD-日本电子汽车工业技术展会-展会信息展名: NEPCON JAPAN [1月東京展]AUTOMOTIVE WORLD [1月東京展]会期: 2025年1月22日(三)-24日(五)会场: 日本东京有明国际展览中心主办方: RX Japan Ltd.扫码申请
亚马逊的云产品和云服务 亚马逊云服务是什么意思
1、亚马逊服务有哪些2、为什么亚马逊云(aws)云服务器在国内仍有很多人在用?3、亚马逊云科技是干什么的?详细介绍4、亚马逊云科技是做什么的公司,可以具体说说吗?亚马逊提供的服务主要包括:在线零售服务。这是亚马逊最为人所知的服务之一。
良心评测说说vivo Y91和Redmi Note 9 4G哪款好一些?有区别吗?详细剖析测评
vivo Y91和Redmi Note 9 4G哪个值得入手?区别不同点大不?两款vivo Y91和Redmi Note 9 4G区别不是很大的哈,我订的是Redmi Note 9 4G,商品收到了外形外观漂亮手感顺滑屏幕音效好拍照效果佳有很多拍照功能而且动态捕捉效果非常好拍照出来很
直通车的计费方式
直通车的计费方式与钻石展位、淘宝客都不同,它是经过竞价排名、按照点击计费的推行工具。
用AI绘画生成超逼真美女写真,轻松创建你的虚拟美颜
限时免费,点击体验最近超火的AI生图神器,坐拥3000美女的大男主就是你! https://ai.sohu.com/pc/generate/textToImg?_trans_=030001_yljdaimn 在这个数字化飞速发展的时代,越来越多的年轻人希望通过技术手段来实现自己的创意。而AI生成
【原】AI新视界:解密网易云商商和大模型加速服务创新升级的“模法” | 服务品牌之旅第48站
  人工智能已成为引领新一轮科技革命和产业变革的重要驱动力和推动经济高质量发展的关键引擎,而大模型作为近年来最为热门的AI细分领域,更是引领新一代产业变革的核心力量之一。——曲毅“网易云商不仅拥有大模型等技术优势,更善于洞察
艺术+少儿艺术教育加盟
  1、开业策划  加盟优势提供多方面的开业支持,从店面选址、店面设计、装修指导、产品陈列等让创业者经营省心。  2、更新产品  加盟优势[品位生活]设计理念超前、种类众多、款式各异、月月有新款,季季有新品投放市场。  3、系
跌破0℃,广东冷到结冰!广州要入冬了?
最近这几天早上大家有没有被冻醒?这几天冷空气狂刷存在感而就在咱们附近的广东清远更是冷到“结冰”!12月14日有“广东雪山”之称的清远市连山壮族瑶族自治县金子山出现冰挂雾凇奇观金子山海拔1417米,地处粤桂湘交界处。当北方冷空气席卷
相关文章
推荐文章
发表评论
0评