日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Silverlight实例教程 - Out of Browser的Debug和Notifications窗口

發(fā)布時(shí)間:2024/1/17 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Silverlight实例教程 - Out of Browser的Debug和Notifications窗口 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

熟悉Silverlight的朋友應(yīng)該知道,Silverlight從1.0版本到現(xiàn)在的4.0版本,其功能性越來(lái)越強(qiáng)大,從下圖我們可以看出,Silverlight的應(yīng)用模型的一個(gè)轉(zhuǎn)變過(guò)程,從Javascript到現(xiàn)在Trusted應(yīng)用,我們目睹了Silverlight坎坷的演變過(guò)程,盡管現(xiàn)在仍舊存在不足之處,但是有了更多開發(fā)人員的支持和幫助,Silverlight一定會(huì)更好更強(qiáng)大。

?

在前幾篇中,我們通過(guò)簡(jiǎn)單的實(shí)例詳細(xì)介紹了Silverlight Out of Browser應(yīng)用開發(fā)基礎(chǔ)。為了下一篇的實(shí)例做準(zhǔn)備,本篇,我們將補(bǔ)充介紹一些Silverlight Out of Browser應(yīng)用開發(fā)知識(shí)點(diǎn),?

?

1. 回顧Silverlight Out of Browser存取本地目錄API;

2. 學(xué)習(xí)Silverlight Out of Browser應(yīng)用Debug調(diào)試;

3. 學(xué)習(xí)Silverlight Out of Browser的消息通知窗口API;

?

回顧Silverlight Out of Browser存取本地目錄API,還記得在前面的文章我們已經(jīng)介紹,Silverlight提供有現(xiàn)成的API,允許應(yīng)用在OOB模式下訪問(wèn)My...系列目錄,API調(diào)用方法很簡(jiǎn)單,而OOB模式下文件訪問(wèn),應(yīng)用可以支持System.IO引用空間中的操作類,例如File類,Directory類,Environment類,等等。

?

?

?1?private?void?AddMusicToList()
?2?????????{
?3??????????????var?path?=?Environment.GetFolderPath(Environment.SpecialFolder.MyMusic);
?4??????????????lsMyMusics.Items.Clear();
?5??????????????DirectoryInfo?myDirectory?=?new?DirectoryInfo(path);
?6??????????????foreach?(FileInfo?file?in?myDirectory.EnumerateFiles())
?7??????????????{
?8??????????????????lsMyMusics.Items.Add(file);
?9??????????????}
10??????????}

?

?

在下文中,我們將用到Silverlight默認(rèn)API,讀取My Music目錄的音樂(lè)文件作為默認(rèn)播放目錄。其代碼與上相似。

?

Silverlight Out of Browser應(yīng)用的調(diào)試方法(Debug)

在使用Silverlight開發(fā)應(yīng)用時(shí),Debug是最常用的Visual Studio工具之一。大家可能對(duì)Silverlight基于Web瀏覽器的調(diào)試方法并不陌生,終歸ASP.NET應(yīng)用開發(fā)調(diào)試已經(jīng)為Silverlight打下了良好的基礎(chǔ)。而對(duì)于Silverlight的OOB是否通常支持Debug呢?答案是肯定的。

在創(chuàng)建項(xiàng)目時(shí),默認(rèn)的設(shè)置,是支持基于瀏覽器的應(yīng)用的Debug。如果需要OOB應(yīng)用支持脫離瀏覽器進(jìn)行Debug,需要按照以下幾個(gè)步驟設(shè)置:

1. 首先需要設(shè)置Silverlight客戶端應(yīng)用為“開始項(xiàng)目”,

?

2. 然后選擇客戶端應(yīng)用“Properties”屬性欄,設(shè)置“Start Action”中的“Installed out-of-browser application”,

?

3. 點(diǎn)擊保存后,重新F5調(diào)試應(yīng)用,即可發(fā)現(xiàn),應(yīng)用將直接作為OOB模式啟動(dòng),不再進(jìn)入Web瀏覽器中提示用戶安裝,這時(shí)就可以在代碼中設(shè)置斷點(diǎn)進(jìn)行Debug了。

?

?

學(xué)習(xí)Silverlight Out of Browser的消息通知窗口API(Toast Notifications Windows)

Toast Notifications Windows,又稱為Silverlight消息通知窗口,是Silverlight 4的一個(gè)新特性,該窗口目前僅限于Out of Browser應(yīng)用使用。該消息窗口主要是提供臨時(shí)消息提示,在應(yīng)用中可以起到讓用戶注意警示的作用。現(xiàn)在很多Windows應(yīng)用都喜歡使用該窗口模式顯示廣告,更新提示等功能。

?

Silverlight的Notifications Windows目前有以下限制:

1. 窗口最大尺寸限制,最大僅支持寬400,高100的提示窗口;

2. 目前不支持Transparency窗口特效,WPF可以支持;

3. 為了區(qū)別其他窗口應(yīng)用,Notifications Windows無(wú)窗口邊框;

?

在明白以上限制后,使用Silverlight API很輕松就能創(chuàng)建一個(gè)Toast Notifications窗口。其方法如下:

?

首先,在SilverlightOOBDemo中創(chuàng)建一個(gè)NotificationControl控件,

?

編輯NotificationControl控件,我們簡(jiǎn)單的對(duì)該控件進(jìn)行美化,使其看起來(lái)更加友好,

?

?1?<UserControl?x:Class="SilverlightOOBDemo.NotificationControl"
?2?????xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
?3?????xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
?4?????xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
?5?????xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
?6?????mc:Ignorable="d"
?7?????d:DesignHeight="300"?d:DesignWidth="400">
?8?????
?9?????<Grid?x:Name="LayoutRoot"?Background="White">
10?????????<Border?x:Name="Frame"?Width="300"?Height="100"?Background="LightYellow">
11?????????????<StackPanel?Orientation="Vertical">
12?????????????????<Border?Width="290"?Height="24"?CornerRadius="4"?Margin="2,4,2,4">
13?????????????????????<Border.Background>
14?????????????????????????<LinearGradientBrush?StartPoint="0.5,0.0"
15?????????????????????????EndPoint="0.5,1.0">
16?????????????????????????????<GradientStop?Offset="0.2"?Color="#FF1C68A0"?/>
17?????????????????????????????<GradientStop?Offset="1.0"?Color="#FF54A7E2"?/>
18?????????????????????????</LinearGradientBrush>
19?????????????????????</Border.Background>
20?????????????????????<Border.Effect>
21?????????????????????????<DropShadowEffect?BlurRadius="4"?ShadowDepth="4"
22?????????????????????????Opacity="0.4"?/>
23?????????????????????</Border.Effect>
24?????????????????????<TextBlock?Text="友情提示"?FontSize="12"
25?????????????????????FontWeight="Bold"?Foreground="White"?Margin="4"?/>
26?????????????????</Border>
27?????????????????<StackPanel?Orientation="Horizontal">
28?????????????????????<Image?Source="/SilverlightOOBDemo;component/Images/Update.png"?Width="48"?Height="48"
29?????????????????????Stretch="Fill"?Margin="4"?VerticalAlignment="Top"?/>
30?????????????????????<TextBlock?Width="240"?Text="檢測(cè)到新的音樂(lè)文件,已經(jīng)更新到播放列表。小廣告:我的博客http://jv9.cnblogs.com"
31?????????????????????FontSize="11"?Foreground="#FF202020"?TextWrapping="Wrap"
32?????????????????????Margin="4"?/>
33?????????????????</StackPanel>
34?????????????</StackPanel>
35?????????</Border>
36?????</Grid>
37?</UserControl>
38?

?

?

然后回到OutofBrowserMainPage頁(yè)面,這里,我們?cè)凇瓣P(guān)于”按鈕上,添加Click事件響應(yīng),使其被點(diǎn)擊后,彈出Notifications窗口。

?

首先創(chuàng)建notifyWindow實(shí)例,

?

?1?#region?Private?Members
?2?????????Window?OOBWindow?=?Application.Current.MainWindow;
?3?????????NotificationWindow?notifyWindow?=?null;
?4?????????#endregion
?5?
?6?????????#region?Constructor
?7?????????public?OutofBrowserMainPage()
?8?????????{
?9?????????????InitializeComponent();
10?????????????notifyWindow?=?new?NotificationWindow();
11????????????
12???????????
13?????????}
14?#endregion

?

?

然后在Click事件中進(jìn)行窗口激活:

?1?????????private?void?aboutBtn_Click(object?sender,?RoutedEventArgs?e)
?2?????????{
?3?????????????if?(null?==?notifyWindow)
?4?????????????????MessageBox.Show("通告窗口僅能運(yùn)行在OOB模式下,請(qǐng)安裝Silverlight應(yīng)用到本地。");
?5?
?6?????????????if?(true?==?App.Current.IsRunningOutOfBrowser)
?7?????????????{
?8?????????????????if?(notifyWindow.Visibility?==?Visibility.Visible)
?9?????????????????????notifyWindow.Close();
10?
11?????????????????NotificationControl?myNotify?=?new?NotificationControl();
12?????????????????notifyWindow.Width?=?300;
13?????????????????notifyWindow.Height?=?100;
14?????????????????notifyWindow.Content?=?myNotify;
15?????????????????notifyWindow.Show(10000);
16?????????????}
17???????????????
18?????????}

?

?

在上面代碼中,我們創(chuàng)建了一個(gè)新的Notification窗口實(shí)例,然后使用Show(毫秒),使其顯示在客戶端,最終顯示效果如下:

?

?

今天的內(nèi)容暫時(shí)到這里了,下一篇,我們將綜合使用這些Silverlight OOB應(yīng)用開發(fā)技巧實(shí)現(xiàn)一個(gè)完整應(yīng)用實(shí)例, Silverlight Out of Browser音樂(lè)播放器。

?

本篇源代碼下載

??

?

本文轉(zhuǎn)自?冷秋寒?51CTO博客,原文鏈接:http://blog.51cto.com/kevinfan/360560?,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者

總結(jié)

以上是生活随笔為你收集整理的Silverlight实例教程 - Out of Browser的Debug和Notifications窗口的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。