我可以说是最早接触Silverlight的.NET开发人员,发现使用Silverlight开发东西还真是一个体力活,幸好有一些比较轻量级的开发工具可以使用。
开发工具:VS 2008(凑合用用吧) Blend 2.0 June Beta版 画界面一定要用, IE 8.0 Beta1 FireFox's FireBug ,代码管理工具 VS Team 2008
下面是我在开发CRD的时候使用的代码和遇到的问题,最近为CRD做的Silverlight马上就要发布了,大家有时间捧个场。
开始开发,重新设计createilverlight,代码如下:
className要实现类名;
xamlName要创建xaml的名称
silverlightPlugInHostName是Silverlight要挂接的宿主的Id,通常是Div的Silverlight
silverlightName是生成Object对象的Id
1
CRD.createSilverlight = function(className,xamlName,silverlightPlugInHostName,silverlightName)
2
{
3
var scene = new className();
4
CRD.InstanceLibrary[xamlName] = scene;
5
6
Silverlight.createObjectEx({
7
source: xamlName,
8
parentElement: document.getElementById(silverlightPlugInHostName),
9
id: silverlightName,
10
properties: {
11
'1000',
12
height: '500',
13
background:'#00ffffff',
14
isWindowless: 'true',
15
version: '1.0',
16
framerate:'30'
17
18
},
19
events: {
20
onError: null,
21
onLoad: Silverlight.createDelegate(scene, scene.handleLoad)
22
},
23
context: null
24
});
25
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

问题:
在Html Transitional的DocType情况下,有些元素是不能使用"/>"进行封口的,例如:a,div,好像只有<br/><hr/>可以吧,否则页面会出现问题。
Silverlight在Host便签的Style为display:none时,是没有办法使用全屏模式的。content.FullScreen=true是没有作用的。
Silverlight全屏幕模式被激发的时候,如果没有Silverlight当前没有得到鼠标点击焦点,(模拟点击也不可以),Silverlight的actualWidth和actualHeight
是Host的Width和Height。大家注意了。
未完待续