科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件掀起你的盖头来:WPF开发简介

掀起你的盖头来:WPF开发简介

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Microsoft总是有能力在恰当的时间制造出意料中的轰动,Vista一经推出便让IT业界趋之若鹜。

作者:佚名 来源:天极Yesky软件频道 2007年11月2日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
三、WPF简介

  Windows Presentation Foundation(WPF)是微软新一代图形系统,运行在.NET Framework 3.0架构下,为用户界面、2D/3D 图形、文档和媒体提供了统一的描述和操作方法。基于DirectX 9/10技术的WPF不仅带来了前所未有的3D界面,而且其图形向量渲染引擎也大大改进了传统的2D界面,比如Vista中的半透明效果的窗体等都得益于WPF。微软还提供了专门的界面开发语言XAML(eXtensible Application Markup Language,可扩展应用程序标记语言),使得界面描述代码和程序代码得以分开,从而提高了开发效率并有利于团队开发。

  XAML是微软为构建下一代应用程序界面而创建的一种新的基于XML的描述性语言,它可对WPF程序的所有界面元素进行定制,从而构成具有WPF风格的界面,并最终形成一个组织良好的XML文档。由于它最新会被编译成.Net后台代码,因此它能够同后台进行逻辑处理的.NET语言如C#、J#、C++、VB等协同工作,其工作性质类似于ASP.NET中的HTML。同HTML一样,XAML既可以直接编码,也可以由专门的工具生成。目前最好的XAML编辑器就是上面我建议你安装的Expression Blend了,但你也可以使用Windows SDK for Windows Vista中的XAMLPad,但功能却显得非常简单。

  实际上,大多数WPF程序将同时包含XAML代码和程序代码,首先使用XAML定义程序界面,然后再用.NET语言编写相应的逻辑代码。跟ASP.NET类似,逻辑代码既可以直接嵌入XAML文件中,也可以将它保存为独立的代码文件。尽管XAML并非设计WPF程序所必须,按照传统方式使用程序代码来实现界面依然有效,但是如果使用XAML,界面设计和逻辑设计可以完全分离,不但使程序的开发和维护更加方便,而且在团队开发中,可以使程序员专注于业务逻辑的实现,而将界面设计交由专业人员来完成,从而使各类人员在项目中各尽其能各展其长,开发出功能强大、界面一流的WPF程序。

  四、实践出真知——在VS 2005中设计Vista程序

  实践出真知,百闻不如一见。还是让我们先用Expression Blend和VS2005结合的方式制作一个简单的例子吧。

  先看效果:


美女图片镜像效果

  贴出代码:


<Window
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 x:Class="DropShadow.ImageReflection"
 x:Name="Window"
 Title="ImageReflection"
 Width="400" Height="800" Background="#FF840909">
<Viewbox>
    <StackPanel Margin="10">
      <Border BorderBrush="White" BorderThickness="8" Width="262.999" Height="354.833" Background="#FF130202">
        <Image Source="200706126569517.jpg" x:Name="myVisual" Stretch="Fill"/>
      </Border>
      <Border BorderBrush="White" BorderThickness="8" Width="263.621" Height="185.429">
        <Border.RenderTransform>
          <SkewTransform CenterX="0" CenterY="0" AngleX="-50" AngleY="0"/>
        </Border.RenderTransform>
        <Border.OpacityMask>
          <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
           <GradientStop Offset="0" Color="#FF000000"/>
           <GradientStop Offset="0.8" Color="#00000000"/>
          </LinearGradientBrush>
        </Border.OpacityMask>
        <Border.Background>
          <VisualBrush Visual="{Binding ElementName=myVisual}">
            <VisualBrush.RelativeTransform>
              <ScaleTransform ScaleX="1" ScaleY="-1" CenterX="0.5" CenterY="0.5"/>
            </VisualBrush.RelativeTransform>
          </VisualBrush>
        </Border.Background>
      </Border>
    </StackPanel>
  </Viewbox>
</Window>

  制作方法:

  首先打开Expression Blend 2,如果你是初次使用,你可能会被它的界面吓一跳,仿佛进入了一个黑色世界:), 装酷?

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章