silverlight
发布时间:2022-05-03 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Silverlight实例教程 - Out of Browser配置,安装和卸载,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
944_1@
@H_
618_2@
概述
本篇将介绍Silverlight的Out of Browser在实例开发前的基础设置以及一些开发技巧。 在创建Silverlight项目时,默认是不支持Out of Browser模式的,所以在使用Silverilght的Out of Browser前,需要对Silverlight项目进行设置,使其支持OOB项目安装和运行。在以下演示中,将创建一个演示例程,该例程将在后续教程中使用,由于该教程
@H_
618_2@
@H_
618_2@
@H_
618_2@
@H_
489_14@
@H_
618_2@
@H_
489_14@
本篇将介绍Silverlight的Out of Browser在实例开发前的基础设置以及一些开发技巧。
@H_
618_2@
@H_
618_2@
在创建Silverlight项目时,
默认是
不支持Out of Browser模式的,所以在使用Silverilght的Out of Browser前,需要对Silverlight项目进行设置,使其
支持OOB项目安装和运行。在以下演示中,将创建
一个演示例程,该例程将在后续教程中使用,由于该教程不属于Silverilght基础开发教程,所以这里,我不在细述
如何创建Silverlight项目,
@H_
618_2@
项目
名称: SilverilghtOOBDemo
@H_
618_2@
项目环境:VS2010 + Silverlight 4
@H_
618_2@
![Silverlight实例教程 - Out of Browser配置,安装和卸载 Silverlight实例教程 - Out of Browser配置,安装和卸载](http://img.voidcn.com/vcimg/static/loading.png)
@H_
618_2@
Silverlight的Out of Browser应用设置
@H_
618_2@
在Silverlight
项目中,设置项目
支持Out of Browser模式非常简单,首先右键选中SilverlightOOBDemo客户端项目,选择“Properties”
属性
@H_
618_2@
![Silverlight实例教程 - Out of Browser配置,安装和卸载 Silverlight实例教程 - Out of Browser配置,安装和卸载](http://img.voidcn.com/vcimg/static/loading.png)
@H_
618_2@
在项目
属性栏,
默认情况下已经选择了Silverlight
标签,而在右边
内容页面中,"Enable running application out of the browser"是没有被选中的,我们仅需要选中该选项,保存,即可设置当前Silverlight项目
支持Out of Browser。
@H_
618_2@
![Silverlight实例教程 - Out of Browser配置,安装和卸载 Silverlight实例教程 - Out of Browser配置,安装和卸载](http://img.voidcn.com/vcimg/static/loading.png)
@H_
618_2@
在"Enable running application out of the browser"选项下,可以看到
一个Out-of-Browser Set
Ting
s...按钮,点击进行该按钮,即可对Out-of-Browser进行设置:
@H_
618_2@
![Silverlight实例教程 - Out of Browser配置,安装和卸载 Silverlight实例教程 - Out of Browser配置,安装和卸载](http://img.voidcn.com/vcimg/static/loading.png)
@H_
618_2@
从上图
可以看出,开发人员可以通过这些
属性,创
建个性的Out of Browser应用。以上设置
属性是保存在Visual
studio 20
10中的OutOfBrowserSet
Ting
s.xml
文件中的,开发人员也可以通过
修改该
文件来设置OOB应用
属性。
@H_
618_2@
![Silverlight实例教程 - Out of Browser配置,安装和卸载 Silverlight实例教程 - Out of Browser配置,安装和卸载](http://img.voidcn.com/vcimg/static/loading.png)
@H_
618_2@
@H_
618_2@
1
<
OutOfBrowserSetTings
ShortName
="SilverlightOOBDemo Application"
EnableGPUAcceleration
="false"
ShowInstallMenuItem
="True"
>
2
OutOfBrowserSetTings.blurb
SilverlightOOBDemo Application on your desktop; at home, at work or on the go.
</
3
OutOfBrowserSetTings.WindowSetTings
4
WindowSetTings
title
/>
5
6
OutOfBrowserSetTings.Icons
7
OutOfBrowserSetTings
>
@H_
618_2@
@H_
618_2@
在完成以上设置后,点击确定和保存,该项目即可
支持Out of Browser模式。
@H_
618_2@
Silverlight的Out of Browser应用安装
@H_
618_2@
Silverlight Out of Browser应用的
安装很简单,作为开发人员我们可以通过两种方式提供给
用户安装oOB应用到本地。
@H_
618_2@
第一种方式是使用
默认的右键
菜单按钮安装应用到本地。
@H_
618_2@
![Silverlight实例教程 - Out of Browser配置,安装和卸载 Silverlight实例教程 - Out of Browser配置,安装和卸载](http://img.voidcn.com/vcimg/static/loading.png)
@H_
618_2@
这种方式是Out of Browser
默认的安装方式,但是该方式的弊端是不易与
用户体验,每次
用户要右键点击应用才能安装应用。作为专业Out of Browser应用,通常会使用第二种方式
安装oOB应用到本地。
@H_
618_2@
第二种方式,
添加控件通过Application.Current.Install()事件安装应用到本地。
@H_
618_2@
在当前应用的MainPage下,
添加安装按钮,通过按钮点击事件安装应用到本地。
@H_
618_2@
![Silverlight实例教程 - Out of Browser配置,安装和卸载 Silverlight实例教程 - Out of Browser配置,安装和卸载](http://img.voidcn.com/vcimg/static/loading.png)
@H_
618_2@
Grid
x:Name
="LayoutRoot"
BACkground
="DimGray"
Button
="bTinstall"
Content
="安装应用到本地"
Width
="200"
Height
="50"
Click
="bTinstall_Click"
Grid
1
private
void
bTinstall_Click(
object
sender, routedEventArgs E)
2
{
3
try
4
{
5
Application.Current.Install();
6
}
7
catch
(InvalidoperationException eX)
8
9
messageBox.Show(
"
应用已经安装.
"
);
10
11
(Exception eX)
12
13
应用不能被安装,错误信息如下:
+
Environment.NewLine
ex.messagE);
14
}
15
}
@H_
618_2@
@H_
618_2@
通过上面简单
代码也可以达到
安装oOB应用到本地的
效果。
@H_
618_2@
对于较为专业的Out of Browser应用的安装,我们经常会
添加一些
代码对当前应用安装进行简单的判断,判断该应用是否已经被安装到了本地,如果已经安装,将忽略不再进行安装步骤。这是对OOB应用的一种保护措施。我们简单
修改项目
代码,
@H_
618_2@
public
MainPage()
initializeComponent();
if
(Application.Current.IsRunningOutOfBrowser)
{
bTinstall.Visibility
=
Visibility.Collapsed;
lbStatus.Text
我正在Out of Browser下运行
;
else
Visibility.Visible;
我正在浏览器中运行
16
(Application.Current.InstallState
!=
InstallState.Installed)
17
18
bTinstall.IsEnabled
true
19
20
21
22
23
false
24
bTinstall.Content
应用已经安装到本地
25
26
27
安装本地前:
@H_
618_2@
![Silverlight实例教程 - Out of Browser配置,安装和卸载 Silverlight实例教程 - Out of Browser配置,安装和卸载](http://img.voidcn.com/vcimg/static/loading.png)
@H_
618_2@
安装本地后:
@H_
618_2@
![Silverlight实例教程 - Out of Browser配置,安装和卸载 Silverlight实例教程 - Out of Browser配置,安装和卸载](http://img.voidcn.com/vcimg/static/loading.png)
@H_
618_2@
重复安装时:
@H_
618_2@
![Silverlight实例教程 - Out of Browser配置,安装和卸载 Silverlight实例教程 - Out of Browser配置,安装和卸载](http://img.voidcn.com/vcimg/static/loading.png)
@H_
618_2@
对于安装时所处于的状态控制,我们可以通过InstallState进行判断。我们可以通过
添加以下
代码:
@H_
618_2@
Current_InstallStateChanged(
:rgb(0, System.EventArgs E)
switch
(Application.Current.InstallStatE)
case
InstallState.Installing:
bTinstall.IsEnabled
bTinstall.Content
正在安装...
break
InstallState.Installed:
已经安装
messageBox.Show(
OOB应用已经安装到本地
);
InstallState.notinstalled:
点击安装该应用到本地
InstallState.InstallFailed:
OOB应用安装失败
当安装时,用户可以看到提示:
@H_
618_2@
![Silverlight实例教程 - Out of Browser配置,安装和卸载 Silverlight实例教程 - Out of Browser配置,安装和卸载](http://img.voidcn.com/vcimg/static/loading.png)
@H_
618_2@
以上是Silverlight Out of Browser安装
方法和一些控制技巧。
@H_
618_2@
Silverlight的Out of Browser应用卸载
@H_
618_2@
Silverlight的OOB应用卸载同样很简单,Silverlight没有和安装时候的Install API,所以我们无法通过
代码的方式控制卸载,但是可以通过以下两种方式卸载应用:
@H_
618_2@
1. 右键点击应用,选择卸载应用选项;
@H_
618_2@
![Silverlight实例教程 - Out of Browser配置,安装和卸载 Silverlight实例教程 - Out of Browser配置,安装和卸载](http://img.voidcn.com/vcimg/static/loading.png)
@H_
618_2@
2. 通过Windows“控制面板",选择对应应用进行卸载,这个是传统型卸载
方法,
这里不再赘述.
@H_
618_2@
简单实例
@H_
618_2@
在这个简单实例中,我将在当前的OOB应用中
添加一个简单的网络监测
代码,演示该应用在线和离线时的网络状态。在该应用,我们仍旧会使用Sy
stem.Window
s.Application API来判断应用是否离线安装,而我们还会使用Sy
stem.Net.NetworkInformation API来判断其网络状态。简单
修改代码如下:
@H_
618_2@
@H_
618_2@
1
<
UserControl
x:Class
="SilverlightOOBDemo.MainPage"
2
xmlns
="http://scheR_387_11845@as.microsoft.com/winfx/2006/xaml/presentation"
3
xmlns:x
="http://scheR_387_11845@as.microsoft.com/winfx/2006/xaml"
4
xmlns:d
="http://scheR_387_11845@as.microsoft.com/expression/blend/2008"
5
xmlns:mc
="http://scheR_387_11845@as.openxmlformats.org/markup-compatibility/2006"
6
mc:Ignorable
="d"
7
d:DesignHeight
="300"
d:DesignWidth
="400"
>
8
9
Grid
x:Name
="LayoutRoot"
BACkground
="DimGray"
10
StackPanel
Orientation
="Vertical"
11
Button
="bTinstall"
Content
="安装应用到本地"
Width
="200"
Height
="50"
Click
="bTinstall_Click"
/>
12
TextBlock
="lbStatus"
Foreground
="White"
HorizontalAlignment
="Center"
FontSize
="18"
13
="lbNetworkStatus"
="LightGreen"
14
</
StackPanel
15
Grid
16
UserControl
17
@H_
618_2@
@H_
618_2@
@H_
618_2@
@H_
618_2@
@H_
618_2@
private
void
checkNetworkStatus()
2
{
3
if
(NetworkInterface.GetIsNetworkAvailable())
4
{
5
lbNetworkStatus.Foreground
=
new
SolidColorBrush(Color.FromArgb(
255
,
90
240
));
6
lbNetworkStatus.Text
"
当前网络处于连接状态
"
;
7
}
else
SolidColorBrush(Colors.Red);
当前网络处于断线状态
}
NetworkChange_NetworkAddressChanged(
object
:rgb(0, EventArgs E)
checkNetworkStatus();
18
}
@H_
618_2@
@H_
618_2@
@H_
618_2@
@H_
618_2@
修改构造
函数代码:
@H_
618_2@
@H_
618_2@
public
MainPage()
initializeComponent();
(Application.Current.IsRunningOutOfBrowser)
bTinstall.Visibility
Visibility.Collapsed;
lbStatus.Text
我正在Out of Browser下运行
Visibility.Visible;
我正在浏览器中运行
(Application.Current.InstallState
!=
InstallState.Installed)
bTinstall.IsEnabled
true
19
20
21
22
23
false
24
bTinstall.Content
应用已经安装到本地
25
26
27
28
29
Application.Current.InstallStateChanged
+=
Current_InstallStateChanged;
30
NetworkChange.NetworkAddressChanged
NetworkAddressChangedEventHandler(NetworkChange_NetworkAddressChanged);
31
32
}
@H_
618_2@
@H_
618_2@
@H_
618_2@
@H_
618_2@
运行后可以在离线状态下,查看网络应用状态:
@H_
618_2@
![Silverlight实例教程 - Out of Browser配置,安装和卸载 Silverlight实例教程 - Out of Browser配置,安装和卸载](http://img.voidcn.com/vcimg/static/loading.png)
@H_
618_2@
@H_
618_2@
![Silverlight实例教程 - Out of Browser配置,安装和卸载 Silverlight实例教程 - Out of Browser配置,安装和卸载](http://img.voidcn.com/vcimg/static/loading.png)
@H_
618_2@
@H_
618_2@
本文主要讲述Silverlight的Out of Browser
应用设置,安装和卸载,属于Silverlight实例开发前的基础,
下一篇我将继续介绍Silverlight的Out of Browser应用开发基础。
@H_
618_2@
@H_
618_2@