SL复习笔记之平稳转型——基础篇(三、SL安装检测和用“刷子”刷出背景)

首先,感谢各位网友的支持(给了小弟动力,坚持下去,做有意义的事,),相信大家都会被“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;

最新资料库,传送阵

原文地址:https://www.cnblogs.com/ssol/p/2137780.html