您的位置:首页 > 其它

[Teaching] [Silverlight 4] OOB(Out-of-browser )常用Code

2010-04-21 21:15 281 查看
話說Silverlight 4.0的OOB(Out-of-browser )更加強大了,使得Silverlight應用程式,更接近Win From或WPF。

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

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

1. 自訂Window Style

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

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





還欠甚麼呢?

1. 最小化到系統列。

2. 自訂視窗樣式。

3. 自訂安裝畫面

4. 自訂安裝進度

 

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

 

SL4.0 OOB常用的CODE

自訂Window Style

(需搭配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;


.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

安裝軟體至桌面

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





App.Current.Install();


.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

OOB時取得框架Windows 事件

先註冊事件

if (App.Current.IsRunningOutOfBrowser && App.Current.HasElevatedPermissions)

{

App.Current.MainWindow.Closing += new EventHandler<System.ComponentModel.ClosingEventArgs>(MainWindow_Closing);

}


.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

抓事件

if (e.IsCancelable)

{

e.Cancel = true; //不運作關閉指令

}


.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐