silverlight
发布时间:2022-05-03 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Silverlight实例教程 - Out of Browser的自定义应用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
概述
在上两篇教程中,讲述了Silverlight的Out of Browser理论知识和基础实践。本节将讲述
如何创建自定义的Out of Browser应用以及如何调试Silverlight的Out of Browser应用。 Silverlight Out of Browser的自定义化 从Silverlight 4开始,OOB应用支持信任权限设置和窗口自定义,最典型的自定义窗口应用是 Silv
在上两篇教程中,讲述了Silverlight的Out of Browser理论知识和基础实践。本节将讲述
如何创建自定义的Out of Browser应用以及如何调试Silverlight的Out of Browser应用。
Silverlight Out of Browser的自定义化
对于创建
自定义窗口应用,微软提供了非常简单的
方法,
首先选择“
require elevated trust when running outside the browser”, 在下面“Window Style”中可以选择不同的窗口模式,其中分别是:
1. Default模式,
默认模式是使用Windows
默认窗口样式;
2. No Border,无边框模式;
3. Borderless Round Corners, 圆角无边框模式;
对比以上三种方模式,第一种
默认模式最为简单,因为使用的是Windows
默认窗口,
其中最大化和最小化以及
关闭控件都是继承自Windows窗口,其中窗口的拖拉事件
默认的也是使用Windows API进行控制; 而第二种和第三种窗口模式,允许
设计开发人员创
建个性的OOB窗口应用,但是
同时也需要创建
自定义的最大化,最小化以及
关闭控件。下面看
一个简单的实例演示,
这里我们使用第三种窗口模式,圆角无边框窗口作为演示,首先打开上一讲中的例程项目SilverlightOOBDemo,为了演示的清晰明了,我们将重新创建
一个OutofBrowserMainPage
页面,承载新的
自定义窗口
页面。
该
页面,我们模拟上面Facebook的黑色配色方案,简单实现
自定义窗口。由于我们使用的是第三种窗口模式,圆角无边框,这里我们需要为OOB应用创建
自定义最大化,最小化和
关闭控件,以及拖拽响应事件。
创建
一个新的控件WindowControls,将最大化,最小化和
关闭控件归类放入该
页面,
1
<
UserControl
x:Class
="SilverlightOOBDemo.WindowControls"
2
xmlns
="http://scheR_759_11845@as.microsoft.com/winfx/2006/xaml/presentation"
3
xmlns:x
="http://scheR_759_11845@as.microsoft.com/winfx/2006/xaml"
4
xmlns:d
="http://scheR_759_11845@as.microsoft.com/expression/blend/2008"
5
xmlns:mc
="http://scheR_759_11845@as.openxmlformats.org/markup-compatibility/2006"
6
mc:Ignorable
="d"
7
d:DesignHeight
="300"
d:DesignWidth
="400"
Width
="80"
Height
="24"
>
8
9
StackPanel
x:Name
="LayoutRoot"
BACkground
="DarkGray"
Orientation
="Horizontal"
10
Button
="btMinimize"
="20"
Width
Margin
="3"
11
Image
Width
="14"
VerticalAlignment
="Center"
HorizontalAlignment
source
="/SilverlightOOBDemo;component/Images/min.png"
Stretch
="None"
/>
12
</
Button
13
="btMaximize"
14
="/SilverlightOOBDemo;component/Images/max.png"
15
16
="btClose"
17
="/SilverlightOOBDemo;component/Images/close.png"
18
19
StackPanel
20
UserControl
21
然后创建简单的哦OutofBrowserMainPage
页面样式,
调用上面新创建的WindowControls控件。由于这里基本都是基础布局
代码,
这里不再赘述,如果对Silverlight项目布局不熟悉的,请看这套系列教程“
Expression Blend实例中文教程系列文章汇总 ”。
="SilverlightOOBDem
o.outofBrowserMainPage"
xmlns:local
="clr-namespace:SilverlightOOBDemo"
8
="600"
="900"
Border
CornerRadius
BorderThickness
="7"
BorderBrush
="Black"
BACkground
="Gray"
x:Name
="lytRoot"
="4"
="1"
Grid
="LayoutRoot"
Grid.columnDeFinitions
columnDeFinition
="325*"
="57*"
Grid.RowDeFinitions
RowDeFinition
Height
="24"
="*"
21
22
23
local:WindowControls
HorizontalAlignment
="Right"
="Top"
Grid.column
="1"
24
25
Orientation
="Horizontal"
IsHitTestVisible
="True"
26
TextBlock
Text
="Silverlight OOB Demo"
="Left"
="10,0"
FontSize
="15"
="195"
27
28
29
Grid.Row
Grid.columnSpan
="2"
30
31
Grid.BACkground
32
LinearGradientBrush
EndPoint
="0.5,1"
StartPoint
33
GradientStop
Color
="#FF000000"
Offset
="0"
34
="#FF585858"
35
LinearGradientBrush
36
37
38
Grid
39
40
Border
41
42
43
这样
一个自定义的OOB应用窗口已经创建完毕了。运行看看,这里会
提示S
ecurity Warning,这是由于我们选择了权限信任设置,Silverlight客户端会
自动提醒
用户是否授权安装该应用。这里微软提供了XAP签名验证,可以优化S
ecurity Warning窗口,让
用户更容易接受和安装,这将在后文介绍,这里我们直接点击安装
即可。
这样基本的Layout算是完成,而我们会发现,创建的
自定义最大化,最小化和
关闭控件都不能使用而且,窗口无法进行拖动。下面我们来
添加一些
代码来完善该
自定义窗口。
public
partial
class
WindowControls : UserControl
2
{
3
bool
maximized
=
false
;
4
5
WindowControls()
6
{
7
initializeComponent();
}
///
<sumMary>
窗口最大化控制
欢迎访问我的博客:
http://jv9.cnblogs.com
</sumMary>
<param NAME="sender"></param>
<param NAME="e"></param>
private
void
btMaximize_Click(
object
sender, routedEventArgs E)
if
(
!
@H_854_152
@maximized)
{
Application.Current.MainWindow.WindowState
WindowState.Maximized;
maximized
true
}
else
WindowState.Normal;
窗口关闭控制
btClose_Click(
Application.Current.MainWindow.Close();
窗口最小化控制
43
44
45
46
btMinimize_Click(
47
48
Application.Current.MainWindow.WindowState
WindowState.Minimized;
49
50
51
}
而对于OOB应用主窗口的拖拽,则需要在OutofBrowserMainPage中
添加简单
代码即可实现,
代码如下:
1
Window OOBWindow
Application.Current.MainWindow;
大佬总结
以上是大佬教程为你收集整理的Silverlight实例教程 - Out of Browser的自定义应用全部内容,希望文章能够帮你解决Silverlight实例教程 - Out of Browser的自定义应用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。