使用Silverlight4无边窗口

Silverlight4的这个特性使得我们可以在OOB模式下自定义主窗口的样式,让我们来做一个可以“安装”,并且自定义主窗口的样式的SilverlihgtOOB程序。
新建一个Silverlight项目的废话就不多说了,设置项目属性可运行在OOB模式下,勾选“Require elevated trust when runing outside the browser”,Window Style 选择为No Border;新建一个页面InstallPage.xaml,这个窗口是我们用来安装的该程序的页面,默认的MainPage.xaml是我们要自定义的主窗口,修改App.xaml.cs部分代码为:

private void Application_Startup(object sender, StartupEventArgs e)
        {
            
if (App.Current.IsRunningOutOfBrowser && App.Current.HasElevatedPermissions)
            {
                
this.RootVisual = new MainPage();
            }
            
else
            {
                
this.RootVisual = new InstallPage();
            }
        }

先看下运行效果:
1、在浏览器中运行


2、点击安装按钮进行安装


3、安装完成显示主窗口

 

两个页面的代码比较简单,都在源文件中,主实现了窗口的基本操作:最大化,最小化,关闭,位置拖动,大小拖动。
大家觉得这个主窗口的样式好看不?

 

posted @ 2010-05-24 14:46 小庄 阅读(2327) 评论(14) 编辑 收藏

 回复 引用 查看   
#2楼 2010-05-24 15:48 深圳小张      
路过
 回复 引用 查看   
#3楼 2010-05-24 15:52 风海迷沙      
应用场景是?
 回复 引用 查看   
#4楼[楼主] 2010-05-24 16:20 小庄      
@风海迷沙
我目前手头上有个Winform的程序,我想把它改成Silverlight的,但要尽量少影响客户的操作习惯。

 回复 引用 查看   
#5楼 2010-05-24 17:24 zwpsky      
支持
 回复 引用 查看   
#6楼 2010-05-24 17:25 刘晨_以然胜甲      
@风海迷沙
在OOB应用时自定义边框时需要。参考QQ2010~

 回复 引用 查看   
#7楼 2010-05-24 23:28 discover      
呵呵,大概看了你的几篇SL文章,写得挺好的,图文并茂还提供源码!谢谢博主
 回复 引用 查看   
#8楼 2010-05-25 12:37 airwolf2026      
楼主blog皮肤不错...
可以考虑支持大显示器哈.

 回复 引用 查看   
#9楼 2010-05-25 12:39 airwolf2026      
另外请教下:
发布者:未验证
===============
这个有办法让windows知道是我的程序吗?

 回复 引用 查看   
#10楼 2010-05-25 16:10 悟道2010      
不知道程序无响应的时候是什么样子的?会不会又把窗体边框等还原出来.
 回复 引用 查看   
#11楼[楼主] 2010-05-26 11:09 小庄      
@airwolf2026
给xap文件签名后就可以满足你的要求了,不过听说签名是要收费的。

 回复 引用 查看   
#12楼[楼主] 2010-05-26 11:15 小庄      
@悟道2010
加了个死循环试了下,整个窗体成白色了,啥都显示不出来,包括自定义的边框。

 回复 引用 查看   
#13楼 2010-05-26 11:17 悟道2010      
强烈要求楼主甩qq号,好让我来欺负你.
 回复 引用 查看   
#14楼 2010-05-26 20:35 airwolf2026      
引用小庄:
@airwolf2026
给xap文件签名后就可以满足你的要求了,不过听说签名是要收费的。

看来确实是签名这种方式了哈