Silverlight 实例教程索引

  • Silverlight 实例教程 - Out of Browser开篇
  • Silverlight 实例教程 - Out of Browser配置,安装和卸载
  • Silverlight 实例教程 - Out of Browser的自定义应用
  • Silverlight 实例教程 - Out of Browser存取本地文件系统
  • Silverlight 实例教程 - Out of Browser与COM的交互基础
  • Silverlight 实例教程 - Out of Browser与Office的互操作
  • Silverlight 实例教程 - Out of Browser的Debug和Notifications窗口
  • Silverlight 实例教程 - Out of Browser音乐播放器
  • Silverlight 实例教程 - Out of Browser与COM互操作实例
  • Silverlight 实例教程 - Out of Browser在线更新和Silent安装

  熟悉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控件,我们简单的对该控件进行美化,使其看起来更加友好。

 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="检测到新的音乐文件,已经更新到播放列表。小广告:我的博客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页面,这里,我们在“关于”按钮上,添加Click事件响应,使其被点击后,弹出Notifications窗口。

  首先创建notifyWindow实例。

 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事件中进行窗口激活:

 1         private void aboutBtn_Click(object sender, RoutedEventArgs e)
 2         {
 3             if (null == notifyWindow)
 4                 MessageBox.Show("通告窗口仅能运行在OOB模式下,请安装Silverlight应用到本地。");
 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         }

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

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

  本篇源代码下载

一起谈.NET技术,Silverlight实例教程 - Out of Browser的Debug和Notifications窗口相关推荐

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

    熟悉Silverlight的朋友应该知道,Silverlight从1.0版本到现在的4.0版本,其功能性越来越强大,从下图我们可以看出,Silverlight的应用模型的一个转变过程,从Javascr ...

  2. Silverlight实例教程 - Out of Browser在线更新和Silent安装

    通过前几篇的学习和实践,相信大家可以很轻松的创建个性化Silverlight Out of Browser应用.上周,在银光中国网论坛有人问到对于Silverlight Out of Browser应 ...

  3. Silverlight实例教程 - Out of Browser开篇

    众所周知,学习一门IT技术,最关键的是实践,无论是软件开发还是网络调试,只要在真实环境下勤于动手和思考,很快就能掌握一门技术,Silverlight也不例外.为了帮助更多朋友快速学习掌握Silverl ...

  4. Silverlight实例教程 - Out of Browser的自定义应用

    在上两篇教程中,讲述了Silverlight的Out of Browser理论知识和基础实践.本节将讲述如何创建自定义的Out of Browser应用以及如何调试Silverlight的Out of ...

  5. Silverlight实例教程 - 理解Navigation导航框架Frame类

    通过"Navigation导航框架开篇"的介绍,可以了解到Silverlight导航框架可被应用于多种场合,最为常见的是实现Silverlight项目内部页面切换.在Silverl ...

  6. Silverlight实例教程 - Validation数据验证开篇

    Silverlight 4 Validation验证实例系列 Silverlight实例教程 - Validation数据验证开篇 Silverlight实例教程 - Validation数据验证基础 ...

  7. Silverlight实例教程 - Navigation导航框架系列汇总

    Silverlight实例教程导航框架系列,结合实例讲述Silverlight导航开发基础,该教程不仅仅适用于Silverlight,而且可以被应用于Windows Phone开发领域. 文章列表: ...

  8. Silverlight实例教程 - Validation验证系列汇总

    转自http://www.cnblogs.com/jv9/archive/2010/09/27/1836394.html Silverlight Validation验证系列教程,详细讲解Silver ...

  9. Silverlight实例教程 - Validation用户提交数据验证捕获

    在以往的Validation系列中,介绍了四种Silverlight验证机制: 基本异常验证机制: DataAnnotation验证机制: IDataErrorInfo客户端同步验证机制: INoti ...

最新文章

  1. (转) 使用Speech SDK 5.1文字转音频
  2. 记录一次mysql不能启动的解决方案
  3. vs2012 error c4996: 'fopen': This function or variable may be unsafe
  4. C语言读入全都的文件内容2
  5. java sleep join_Java多線程之sleep,wait,join和yield關鍵字
  6. textcnn文本词向量_文本分类模型之TextCNN
  7. 科学计算机fix sci,计算器按mode出来的comp、SD、REG、DEg、Rad、Gra、Fix、Sci、Norm、Disp、是什么意思?...
  8. RGB想YCbCr空间的变换
  9. *使用配置类定义Codeigniter全局变量
  10. Xamarin调用JSON.net来解析JSON
  11. adb命令 关机与重启
  12. protel99SE - 多张原理图生成一张总网表的方法
  13. m7405d粉盒清零方法_联想打印机多功能一体机硒鼓清零方法汇总
  14. excel计算机快捷键大全,常用的Excel快捷键大全
  15. 英国留学生Discursive Essay怎么写?
  16. 正则表达式给查找到的内容加引号
  17. 异常恶毒的十二星座性格分析(转)
  18. 推荐书单——不定时更新
  19. EasyPoi导出Excel实现标记颜色
  20. linux常见桌面系统以及安装gnome远程桌面

热门文章

  1. matlab中inband函数,pjsip 实现 DTMF 数据获取,并解析按键信息
  2. python是一种动态语言、这意味着_【python编程的优点是什么?难怪选择python的人越来越多了】- 环球网校...
  3. 划分字母区间(双指针,贪心)
  4. 中间人攻击之DNS欺骗
  5. Failed to convert property value of type java.lang.String to required type java.lang.Integer for pro
  6. 《系统集成项目管理工程师》必背100个知识点-20项目管理计划的主要用途
  7. Docker中操作镜像和容器的常用命令
  8. ElementUI中el-upload中怎样限制上传文件的格式
  9. Python入门教程以及资料免费下载
  10. SpringBoot中yml文件报错:org.yaml.snakeyaml.scanner.ScannerException:mapping values are not allowe here...