zoukankan      html  css  js  c++  java
  • WPF学习

    简介

    WPF 为Windows Presentation Foundation的缩写 ,意思是基于windows的图形界面处理,其原来代号为“Avalon”,因“我佩服”拼音首字母组合一样,国内有人调侃地称之为“我佩服”。由 .NET Framework 3.0 开始引入,并且在以后的版本中都支持WPF,与 Windows Presentation Foundation及 Windows Workflow Foundation并行为新一代 Windows 操作系统以及 WinFX 的三个重大应用程序开发类库。WPF是微软新一代图形系统,运行在.NET Framework 3.0即以上架构下,为用户界面、2D/3D 图形、文档和媒体提供了统一的描述和操作方法。基于DirectX 9/10技术的WPF不仅带来了前所未有的3D界面,而且其图形向量渲染引擎也大大改进了传统的2D界面,比如Vista中的半透明效果的窗体等都得益于WPF。 程序员在WPF的帮助下,要开发出媲美Mac程序的酷炫界面已不再是遥不可及的奢望。 WPF相对于Windows客户端的开发来说,向前跨出了巨大的一步,它提供了超丰富的.NET UI 框架,集成了矢量图形,丰富的流动文字支持flow text support,3D视觉效果和强大无比的控件模型框架。(摘自百科

    WPF中主要是用基于XML的XAML语言来实现展示的。

    何谓XAML

    可扩展应用程序标记语言 (XAML) 是一种声明性语言。具体来说,XAML 可以通过使用一种语言结构来显示多个对象之间的分层关系,并使用一种后备类型约定来支持类型扩展,以初始化对象并设置对象的属性。您可以使用声明性 XAML 标记创建可见用户界面 (UI) 元素。然后,您可以使用单独的代码隐藏文件来响应事件和处理您在 XAML 中声明的对象。

    XAML 文件是通常具有 .xaml 文件扩展名的 XML 文件。下面的实例演示了非常基本的XAML文件的内容:

    <Window x:Class="WpfApplication1.Window1"     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     Title="Window1" Height="300" Width="300">     <Grid>         <Button Margin="44,104,44,101" Name="button1" Click="button1_Click">Button</Button>         <Button Margin="44, 20, 44, 200" Name="button2">Hello</Button>     </Grid> </Window>
    如何建立WPF应用程序

    1.启动Visual Studio 2010,选择WPF Application,如图:

    在图中标出来的两种方式,其实都是用XMAL来表现的,只不过是浏览的方式不一样。下面我把两种形式都列举出来了,并且相应Demo的源代码都可以下载:

    第一:WPF Application也就是C/S模式,跟Winfrom应用程序很相似,大家可以借助与对Winform 的理解来理解WPF Application应用程序。

    在新建“WPF Application”项目后,呈现出来的是:

    在屏幕中被分成了上、下两部分,大家看起来一定很收悉把。下面就是用XAML语言表示的,同时它也可以用来控制上面的表现形式。

    后台代码:

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes;
    namespace WpfApplication1 { /// <summary>/// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } } }

    下面就举一个小例子,在Design中放入两个Button:

    XAML代码:

    <Window x:Class="WpfApplication1.Window1"     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     Title="Window1" Height="300" Width="300">     <Grid>         <Button Margin="44,104,44,101" Name="button1" Click="button1_Click">Button</Button>         <Button Margin="44, 20, 44, 200" Name="button2">Hello</Button>     </Grid> </Window>

    大家看到这里可能会有一种即收悉有又陌生的感觉,对,不错没有看到<asp:Button........................./>这样的button。这就是XAML的魅力。我们可以通过设置button的属性来控制Button的各种显示,同时也可以编写button的Click事件:

            private void button1_Click(object sender, RoutedEventArgs e)         {             button1.Content = DateTime.Now.ToShortTimeString();         }

    现在要设置Button上面显示的文字后面的属性不再是Text而变成了现在Content;这个Click事件的功能是:当点击这个按钮时按钮上面的文字就变成了当前时间。运行结果如图:

    这里Demo很简单,大家可以试着自己动手做一下。WPF Application 源码下载

    第二:WPFBrowserApplication 应用程序

    B/s模式和WebFrom很相似,大家可以参考自己对asp.net的理解来理解.由于程序很简单所以就不详细讲解了,我把它们最后运行的结果展现给大家看看:

    WPFBrowserApplication 源码下载

  • 相关阅读:
    浅谈T-SQL中的特殊联结
    浅谈T-SQL中的联接查询
    对AccessViolationException的一些总结
    浅谈JavaScript中的定时器
    浅谈跨域
    浅谈JavaScript中的Ajax
    浅谈JavaScript中的能力检测
    c# webConfig中的session超时详细设置
    c# session总结
    重启sql server服务两种方式
  • 原文地址:https://www.cnblogs.com/Ruiky/p/2421374.html
Copyright © 2011-2022 走看看