Silverlight 起初的版本也是和Flash 一样只能在浏览器中运行,宿主在浏览器当中,从Silverlight 3 版本以后添加了可以脱离浏览器运行的功能,程序可以下载到本地离线去运行,通过快捷方式就可以打开Silverlight程序,这个功能非常的“Cool”,很新颖和时代性。
如果像实现脱离浏览器运行也非常的容易(这也是微软产品的共性,很多人还说微软的东西不灵活,其实这是技术实力的证明,而且扩展性考虑的非常好。)
右键Silverlight 项目->属性 打开项目属性窗口,如下图,然后选中红色框的复选框,注意XAP缓存和浏览器外运行是冲突的
当我们配置好了参数,项目文件夹下面的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更ü新?!?"); } }
冯瑞涛
分类:
[05] Silverlight
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?