zoukankan      html  css  js  c++  java
  • Silverlight 浏览器外运行及更新判断

    Silverlight 起初的版本也是和Flash 一样只能在浏览器中运行,宿主在浏览器当中,从Silverlight 3 版本以后添加了可以脱离浏览器运行的功能,程序可以下载到本地离线去运行,通过快捷方式就可以打开Silverlight程序,这个功能非常的“Cool”,很新颖和时代性。

    如果像实现脱离浏览器运行也非常的容易(这也是微软产品的共性,很多人还说微软的东西不灵活,其实这是技术实力的证明,而且扩展性考虑的非常好。)

    右键Silverlight 项目->属性 打开项目属性窗口,如下图,然后选中红色框的复选框,注意XAP缓存和浏览器外运行是冲突的

     

    image

    当我们配置好了参数,项目文件夹下面的AppManifest.xml文件会记录这些配置s

    通过代码来提示安装本地应用

    private void InstallApp()
           {
               switch (Application.Current.InstallState)
               {
                   case InstallState.Installed:
                       MessageBox.Show("应|用?程ì序ò已?安2装°。£");
                       break;
                   case InstallState.InstallFailed:
                       MessageBox.Show("应|用?程ì序ò安2装°失§败ü,?请?重?试?。£");
                       break;
                   case InstallState.Installing:
                       MessageBox.Show("应|用?程ì序ò正y在ú安2装°中D…-");
                       break;
                   case InstallState.NotInstalled:
                       Application.Current.Install(); //安2装°到?本?地?
                       break;
               }
           }

    检查更新

    Application app = App.Current;
            public SC_App_CheckUpdate()
            {
                InitializeComponent();
                AddEvent();
            }
    
            //创′建¨离?线?应|用?程ì序ò更ü新?事?件t
            void AddEvent()
            {
                app.CheckAndDownloadUpdateCompleted +=
                    new CheckAndDownloadUpdateCompletedEventHandler
                        (Current_CheckAndDownloadUpdateCompleted);
                //开a始?更ü新?
                app.CheckAndDownloadUpdateAsync();
            }
            //更ü新?完ê成é事?件t
            void Current_CheckAndDownloadUpdateCompleted(object sender
                , CheckAndDownloadUpdateCompletedEventArgs e)
            {
                if (e.UpdateAvailable)
                {
                    MessageBox.Show("发¢现?新?版?本?的?Silverlight应|用?程ì序ò" +
                        ",?请?重?新?启?用?你?的?应|用?程ì序ò!?");
                }
                else if (e.Error != null &&
                    e.Error is PlatformNotSupportedException)
                {
                    MessageBox.Show("发¢现?新?版?本?Silverlight应|用?程ì序ò,?" +
                    "但?是?不?能ü运?行D在ú您ú的?Silverlight版?本?中D,?请?访?问ê程ì序ò主÷页3更ü新?");
                }
                else
                {
                    MessageBox.Show("没?有D新?版?本?应|用?程ì序ò需è要a更ü新?!?");
                }
    
            }

    冯瑞涛
  • 相关阅读:
    告别ThinkPHP6的异常页面, 让我们来拥抱whoops吧
    ThinkPHP6 上传图片代码demo
    【ThinkPHP6:从TP3升级到放弃】1. 前言及准备工作
    PHP数字金额转换大写金额
    提高PHP开发效率, PhpStorm必装的几款插件
    5分钟弄懂Docker!
    GitHub 上排名前 100 的 IOS 开源库简介
    GitHub 上排名前 100 的 Android 开源库简介
    android线程消息传递机制——Looper,Handler,Message
    Android Activity:四种启动模式,Intent Flags和任务栈
  • 原文地址:https://www.cnblogs.com/finehappy/p/1668981.html
Copyright © 2011-2022 走看看