您的位置:首页 > 其它

转载:Silverlight4.0 OOB(Out-of-browser )常用Code

2010-09-01 18:02 375 查看

Silverlight4.0OOB(Out-of-browser)常用Code

时间:2010-04-2107:57来源:博客园作者:B+点击:307次
話說Silverlight4.0的OOB(Out-of-browser)更加強大了,使得Silverlight應用程式,更接近WinFrom或WPF。在雲端的世界裡,Silverlight4.0讓你從瀏覽器開始,繼續維持原有習慣工作在桌面上。而比起3.0,OOB有了哪些變化。1.自訂WindowStyle2.搭配Notification

話說Silverlight4.0的OOB(Out-of-browser)更加強大了,使得Silverlight應用程式,更接近WinFrom或WPF。

在雲端的世界裡,Silverlight4.0讓你從瀏覽器開始,繼續維持原有習慣工作在桌面上。

而比起3.0,OOB有了哪些變化。

1.自訂WindowStyle

2.搭配Notification顯示浮動訊息。

3.Installmenu不用再跑到OutOfBrowserSettings.xml設定。



還欠甚麼呢?

1.最小化到系統列。

2.自訂視窗樣式。

3.自訂安裝畫面

4.自訂安裝進度

其中最小化到系統列,我覺得是非常實用的,試想一下,上班時候,開一個「開心農場」,縮到系統列,程式持續運作,當有人偷菜時,軟體透過Notification用浮動視窗告訴你,你的菜被偷啦!再趕緊放大視窗處裡,老闆來時,馬上縮到系統列,一切神不知鬼不覺,多麼的實用XD。不過在SL4.0的OOB裡並沒有這樣的功能(亦或是我不知道)我們就再等等吧。

SL4.0OOB常用的CODE

自訂WindowStyle

(需搭配App.Current.IsRunningOutOfBrowser『是否運作於瀏覽器外』&&App.Current.HasElevatedPermissions『是否是取得最大控制權』做判斷)

App.Current.MainWindow.DragResize(WindowResizeEdge.Bottom);//拖曳視窗下方大小

App.Current.MainWindow.DragResize(WindowResizeEdge.BottomLeft);//拖曳視窗左下大小

App.Current.MainWindow.DragResize(WindowResizeEdge.BottomRight);//拖曳視窗右下大小

App.Current.MainWindow.DragResize(WindowResizeEdge.Left);//拖曳視窗左方大小

App.Current.MainWindow.DragResize(WindowResizeEdge.Right);//拖曳視窗右方大小App.Current.MainWindow.DragResize(WindowResizeEdge.Top);//拖曳視窗上方大小

App.Current.MainWindow.DragResize(WindowResizeEdge.TopLeft);//拖曳視窗上左大小

App.Current.MainWindow.DragResize(WindowResizeEdge.TopRight);//拖曳視窗上右大小

App.Current.MainWindow.DragMove();//拖曳視窗

App.Current.MainWindow.Close();//視窗關閉App.Current.MainWindow.WindowState=WindowState.Minimized;//視窗最大化App.Current.MainWindow.WindowState==WindowState.Normal//恢復視窗預設大小App.Current.MainWindow.WindowState=WindowState.Maximized;//視窗最小化


//視窗起始位置(可以寫進app.xaml裡)App.Current.MainWindow.Left=1;App.Current.MainWindow.Right=1;


安裝軟體至桌面

(專案屬性的OOB功能一定要先開啟)



App.Current.Install();


OOB時取得框架Windows事件

先註冊事件

if(App.Current.IsRunningOutOfBrowser&&App.Current.HasElevatedPermissions){App.Current.MainWindow.Closing+=newEventHandler<System.ComponentModel.ClosingEventArgs>(MainWindow_Closing);}


抓事件

if(e.IsCancelable){e.Cancel=true;//不運作關閉指令}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: