zoukankan      html  css  js  c++  java
  • 走进WPF系列学习之一 如何建立、设计、执行与部署WPF应用程序

    近在公司要用WPF做一个项目,以前都没有怎么接触过WPF,所以在接下来的一段日子里,我要好好研究研究WPF。我会把我在的学习过程,和学习心得记录下来。一方面是对自己学习的总计,另一方面也可以让像我一样刚刚接触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 源码下载

  • 相关阅读:
    [HNOI2015]实验比较 树形dp+组合数学
    【bzoj1090】 [SCOI2003]字符串折叠
    hdu4514(非连通图的环判断与图中最长链)(树的直径)
    数据类型进阶 续1
    数据类型进阶
    二进制补码
    基本数据类型的包装类
    变量的作用域
    用变量保存多种类型的数据
    用变量简化计算
  • 原文地址:https://www.cnblogs.com/zwzw/p/WPF.html
Copyright © 2011-2022 走看看