天生舞男

我喜欢谦虚的学习各种...,希望自己能坚持一辈子,因为即使一张卫生巾也是有它的作用.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

破译微软Vista Avalon之谜

Posted on 2005-11-04 14:58  天生舞男  阅读(261)  评论(0编辑  收藏  举报
破译微软Vista Avalon之谜
(2005-07-29 09:37:40)

        Visual Studio安装好后,最后就是安装WinFX SDK。 XAMLPad:交互式探索XAML WinFX SDK中包括XAMLPad,工具,可以让您输入XAML标记语言至文本窗口中,并在上端的图形窗口中显示结果。您可以在"开始"菜单的Microsoft WinFX SDK程序组中的"工具"子项中找到XAMLPad。首次运行的画面如下:


  Hello World 学习新语言,第一个程序总是经典的"Hello World!"所以我们先输入"Hello World!"


  很显然,发生错误了:字体颜色变成了红色,底部出现错误信息。字体变成红色是发生错误时的警告。原因是面板不能直接包含文本内容,它只是其他元素的布局容器。Grid元素也是如此,它是表格数据的容器。现在选择用于简单文本输出的TextBlock元素,得到以下代码: Hello world! 下面就是正确的输出结果:


  修改属性在XAML中,修改字体大小很容易,只要增加TextBlock元素的属性。 Hello world! 下面就是结果:


  注意:XAML的属性只不过就是众所周知的XML属性,都是attributeName="attributeValue",引号内就是属性值。 您还可以做更多的修改: Hello world! 下面就是输出的结果:



  注意有两种指定颜色的方式:一种是用141种预定义的颜色名字,如"Beige"、"Red"、"HotPink"等;另一种是用16进制RGB符号,以"#"为前缀,加上代表RGB颜色的16进制数,如"#00005D"。 2D图形现在我们研究其他的Avalon元素,如基本的2D图形:矩形、直线和椭圆。我们现在选择Canvas元素,它在用绝对坐标放置图形时特别好使。下面创建一个显示绿色粗对角线的Canvas元素: 注意看到开始点与结束点的坐标单位可以用像素(px)、厘米(cm)或英寸(in)表示。如果省略,默认单位是像素。Avalon中,坐标值(及透明度、角度等)是双精度型,这样Avalon渲染引擎就能正常工作,使输出结果与设备无关。而GDI采用的是整数型。下面是输出结果:


  让我们再增加一些图形: 这些新增图形的代码很好理解,您可以把它复制到XAMLPad中:


  图形之间可以重叠,可视顺序是代码中最后的元素总是在最上面。画多边形指定各个顶点的坐标,用逗号分隔。接下来注意Opacity属性值为0时图形是完全透明的,为1时则完全不透明。这里矩形的Opacity属性值为0.4,所以它是40%透明的,可以看到被它遮盖的图形。还需注意的一点是可以在中加入注释。最后一个细节是canvas元素的背景色被修改了,背景色属性被改为"Linen"。 CodeGuru时钟在接下来的Avalon系列文章里,我还要讲到如何用Visual Studio 2005创建Avalon应用程序,并介绍更多的Avalon类及其相应的XAML元素。您还将学会如何用Avalon开发小型的却完整的样例程序--CodeGuru桌面时钟。


  不要小看这一时钟,它功能完整,而且还利用了Avalon的语音识别及合成功能,所以它还能听到您的命令,并用语音回答。