首先,感谢各位网友的支持(给了小弟动力,坚持下去,做有意义的事,),相信大家都会被“SL”酷、炫的“用户体验”所吸引。随着Web 3D时代的到来,WP崛起,你懂得。
新建一个项目,首先要检测用户有没有安装“SL”,“SL”和浏览器交互当然离不开“JS”。
一、利用“JS”检测是否安装了“SL”
1、使用“JS”首先要考虑浏览器的兼容性。可以分为两类,IE,非IE(火狐,Chrome等)。
2、贴段代码出来
<script language="javascript">
var browser = navigator.appName; // 得到浏览器
var slInstalled = false; //设置标记
if (browser == 'Microsoft Internet Explorer'){
try{
var slControl = new ActiveXObject('AgControl.AgControl');
slInstalled = true;
} catch (e){
// 错误,Silverlight没有安装,请先安装。
}
}else{
// Netscape, FireFox, Google chrome等
try {
if (navigator.plugins["Silverlight Plug-In"]){
slInstalled = true;
}
}catch (e){
// 错误,Silverlight没有安装 ,请先安装。
}
}
alert(slInstalled);
</script>
二、设置背景图片
1、在“SL”UI元素的背景都是被“刷”出来的,而不是想“HTML”和"asp.net"那样,直接“background”。要使用“ImageBrush”。
2、不同的“UI”元素可以作用的属性也不一样。比如,Canvas被作用于“Canvas.Background”,“Ellipse”被作用于“Ellipse.Fill”。
3、既然是作用于UI元素的属性,当然可以在后台代码中动态使用“刷子”,尽情的“洗刷刷”。
部分代码示例:
Xaml中使用:
<Canvas x:Name="ShowCanvas" Width="500" Height="300">
<Canvas.Background>
<ImageBrush x:Name="bgImageBrush" Stretch="UniformToFill"
ImageSource="Images/Bg1.png">
</ImageBrush>
</Canvas.Background>
</Canvas>
后台代码中使用:
ImageBrush brush = new ImageBrush();
brush.ImageSource = new BitmapImage(new Uri(@"Images/ball.png",
UriKind.Relative));
ellipse1.Fill = brush;