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

Silverlight实例教程 - Out of Browser的Debug和Notifications窗口,第1张

概述熟悉Silverlight的朋友应该知道,Silverlight从1.0版本到现在的4.0版本,其功能性越来越强大,从下图我们可以看出,Silverlight的应用模型的一个转变过程,从Javascript到现在Trusted应用,我们目睹了Silverlight坎坷的演变过程,尽管现在仍旧存在不足之处,但是有了更多开发人员的支持和帮助,Silverlight一定会更好更强大。   在前几篇中,我

熟悉Silverlight的朋友应该知道,Silverlight从1.0版本到现在的4.0版本,其功能性越来越强大,从下图我们可以看出,Silverlight的应用模型的一个转变过程,从JavaScript到现在Trusted应用,我们目睹了Silverlight坎坷的演变过程,尽管现在仍旧存在不足之处,但是有了更多开发人员的支持和帮助,Silverlight一定会更好更强大。

 

在前几篇中,我们通过简单的实例详细介绍了Silverlight Out of browser应用开发基础。为了下一篇的实例做准备,本篇,我们将补充介绍一些Silverlight Out of browser应用开发知识点, 

1. 回顾Silverlight Out of browser存取本地目录API;

2. 学习Silverlight Out of browser应用DeBUG调试;

3. 学习Silverlight Out of browser的消息通知窗口API;

回顾Silverlight Out of browser存取本地目录API,还记得在前面的文章我们已经介绍,Silverlight提供有现成的API,允许应用在OOB模式下访问My...系列目录,API调用方法很简单,而OOB模式下文件访问,应用可以支持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默认API,读取My Music目录的音乐文件作为默认播放目录。其代码与上相似。

Silverlight Out of browser应用的调试方法(DeBUG)

在使用Silverlight开发应用时,DeBUG是最常用的Visual Studio工具之一。大家可能对Silverlight基于Web浏览器的调试方法并不陌生,终归ASP.NET应用开发调试已经为Silverlight打下了良好的基础。而对于Silverlight的OOB是否通常支持DeBUG呢?答案是肯定的。

在创建项目时,默认的设置,是支持基于浏览器的应用的DeBUG。如果需要OOB应用支持脱离浏览器进行DeBUG,需要按照以下几个步骤设置:

1. 首先需要设置Silverlight客户端应用为“开始项目”,

2. 然后选择客户端应用“PropertIEs”属性栏,设置“Start Action”中的“Installed out-of-browser application”,

3. 点击保存后,重新F5调试应用,即可发现,应用将直接作为OOB模式启动,不再进入Web浏览器中提示用户安装,这时就可以在代码中设置断点进行DeBUG了。

学习Silverlight Out of browser的消息通知窗口API(Toast Notifications windows)

Toast Notifications windows,又称为Silverlight消息通知窗口,是Silverlight 4的一个新特性,该窗口目前仅限于Out of browser应用使用。该消息窗口主要是提供临时消息提示,在应用中可以起到让用户注意警示的作用。现在很多windows应用都喜欢使用该窗口模式显示广告,更新提示等功能。

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

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

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

3. 为了区别其他窗口应用,Notifications windows无窗口边框;

在明白以上限制后,使用Silverlight API很轻松就能创建一个Toast Notifications窗口。其方法如下:

首先,在SilverlightOOBDemo中创建一个NotificationControl控件,

编辑NotificationControl控件,我们简单的对该控件进行美化,使其看起来更加友好,

< 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" >     
     GrID  x:name ="LayoutRoot"  Background ="White"          border  ="Frame"  WIDth  Height ="100" ="lightYellow" 11               StackPanel  OrIEntation ="Vertical" 12                   WIDth ="290" ="24"  CornerRadius ="4"  margin ="2,4,2,4" 13                       border.Background 14                           linearGradIEntBrush  StartPoint ="0.5,0.0" 15                          EndPoint 16                               GradIEntStop  Offset ="0.2"  color ="#FF1C68A0" /> 17  ="1.0" ="#FF54A7E2" 18  </ linearGradIEntBrush 19  20  border.Effect 21  DropShadowEffect  BlurRadius  ShadowDepth 22                          Opacity ="0.4" 23  24  TextBlock  Text ="友情提示"  FontSize ="12" 25                      FontWeight ="Bold"  Foreground ="White" 26  border 27  ="Horizontal" 28  Image  Source ="/SilverlightOOBDemo;component/Images/Update.png" ="48" 29                      Stretch ="Fill"  VerticalAlignment ="top" 30  ="240"  Text ="检测到新的音乐文件,已经更新到播放列表。小广告:我的博客http://jv9.cnblogs.com" 31                      FontSize ="11" ="#FF202020"  textwrapPing ="Wrap" 32                      margin 33  StackPanel 34  35  36  GrID 37  UserControl 38 

然后回到OutofbrowserMainPage页面,这里,我们在“关于”按钮上,添加Click事件响应,使其被点击后,d出Notifications窗口。

首先创建notifyWindow实例,

#region  Private Members         Window OOBWindow   Application.Current.MainWindow;
        NotificationWindow notifyWindow  null ;
#endregion  Constructor public  OutofbrowserMainPage()
            InitializeComponent();
            notifyWindow   NotificationWindow();
           
          
        }
#endregion

然后在Click事件中进行窗口激活:

 aboutBtn_Click( object  sender, RoutedEventArgs e)
if  ( ==  notifyWindow)
                MessageBox.Show( " 通告窗口仅能运行在OOB模式下,请安装Silverlight应用到本地。 " );
true  App.Current.IsRunningOutOfbrowser)
            {
 (notifyWindow.Visibility   Visibility.Visible)
                    notifyWindow.Close();
                NotificationControl myNotify   NotificationControl();
                notifyWindow.WIDth    300                 notifyWindow.Height  100                 notifyWindow.Content   myNotify;
15                  notifyWindow.Show( 10000             }
              
        }

在上面代码中,我们创建了一个新的Notification窗口实例,然后使用Show(毫秒),使其显示在客户端,最终显示效果如下:

今天的内容暂时到这里了,下一篇,我们将综合使用这些Silverlight OOB应用开发技巧实现一个完整应用实例, Silverlight Out of browser音乐播放器。

本篇源代码下载

总结

以上是内存溢出为你收集整理的Silverlight实例教程 - Out of Browser的Debug和Notifications窗口全部内容,希望文章能够帮你解决Silverlight实例教程 - Out of Browser的Debug和Notifications窗口所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1019354.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存