技术开发 频道

PHP开发者仅凭记事本使用Silverlight

  关于这段代码需要注意的是:

  •嵌套:Silverlight使用了不同的容器,诸如Grid、Canvas和StackPanel。

  •分层:因为Rectangle控件没有Text属性,我们需要创建一个单独的TextBlock,并设置它们各自的Canvas.Top属性,这样它们可以被正确的安排。控件被嵌套在画布上的方式就是它们显示的方式。

  •透明度:控件的透明度是一个从0到1的double类型数值。本文例子中控件的透明度值是0.5。

  •RadiusX/Y:这是XAML非常有趣的一个地方。通过简单的修改Radius属性,我们可以把一个矩形的拐角圆弧化。由于这些属性可以通过JavaScript设置,我们可以动态的对它们进行修改。

  现在打开我们的新HelloSilverlight.htm页面。(记得把Silverlight.js放在相同的目录。)我们将看到类似下图的网页:

  图2

  在开始第三步之前,对我们的XAML文件进行一个小小的修改。这是Silverlight开始显现其强大之处的开始。通过增加三行代码,我们的控件就能够具有漂亮的阴影效果,在过去实现这一点可能要编写长长的代码和图形处理。

  在我们代码中的标签之间,增加如下代码:

<Rectangle.Effect>
<DropShadowEffect/>
</Rectangle.Effect>

         效果如下:

         图3

        步骤3:将两者合二为一

       现在是我们将PHP菜单和Silverlight应用进行融合的时候了。在登录页面中,将HelloSilverlight.htm的内容加入到PHPMenu.php中,得到如下代码:

<html>
<head>
<title>Silverlight PHP Menu</title>
<script type="text/javascript" src="Silverlight.js"></script>
<script type="text/javascript" src="xamlFunctions.js"></script>
<style type="text/css">
.navMenu {
height
: 300px;
width
: 400px;
}
</style>
</head>
<body>
<p>Just PHP:</p>
<div id="navMenuPlain" class="navMenu">
<?  
// This is where you would do a fetch
$menu=array('Home','Links','About','Contact');
$n = 0;
foreach ($menu as $m) {
$n++;
echo('<h2>' . $m . '</h2>');
}
?>
</div>
<p>Silverlighted PHP:</p>
<div id="navMenuSL" class="navMenu">
<script type="text/javascript">
createNavMenu();
</script>
</div>
</body>
</html>
0
相关文章