• C#入门分享(九)——WPF开发


          WPF(Windows Presentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。WPF可以更方便的开发更漂亮的界面,并且可以比以前更好地将GUI设计和程序逻辑分离开来,使得有条件的公司可以专门培养平面设计人员进行GUI设计(有点类似于与网页美工),而程序员更加关注业务逻辑。

          下面让我们通过具体的操作和代码来了解WPF的开发。

          打开Visual Studio(我的版本是VS2013 Ultimate)创建一个WPF工程,工程名为WpfApplication1。这个工程新建好了以后,就创建了一个窗口应用程序。现在只有一个窗口,窗口标题为默认的Window1。下面是运行的结果:

    理解XAML

          XAML全称为Extensible Application Markup Language 。XAML可以用来编写WPF,但是也可以做很多其他的事情。每个WPF程序都有一个Application对象,该对象代表了整个应用程序,它总是有一个static Main方法。如何编写一个Application类有多种方法,App.xaml内容如下:

         Application元素的x:Class属性的值为WpfApplication1名字空间里面的类App。该类的定义如下:

          我们并不需要写static Main方法,编译器替我们生成了。 App.xaml中的Application元素还有一个属性StartupUri指定了应用程序开始运行时显示的第一个窗口MainWindow。MainWindow.xaml文件内容如下:

           MainWindow继承了System.Windows.Window类。InitializeComponent()方法的主要作用是读取MainWindow.xaml文件中指定的Window元素的属性值。

    添加两个控件,并理解事件处理机制

          现在添加一个文本控件和一个按钮,当按钮点击后,文本控件的内容将被修改。通过Toolbox拖拽TextBox和Button到MainWindow窗口上。现在的MainWindow.xaml文件内容变成:

     

          

          效果如下:

         双击 TextBox和Button,Visual Studio就会在自动在MainWindow.xaml.cs中生成对应控件的处理时间方法:

        这里仍然使用委托机制来实现事件回调。sender就代表事件源,这里其实就是MainWindow对象自己。RoutedEvnetArgs e可以让我们获得事件的相关信息。我们定义TextBox的name为TextBox1,然后在Button_Click()函数里添加:

               TextBox1.Text = "欢迎来到WPF";

         这样点击按钮后就会弹出一个消息框。
         到这里,一个麻雀虽小,但是五脏俱全的例子程序就完成了,点击按钮效果如下:

        Toolbox里还有很多的控件,比如Grid,Image,TextBlock,ListView等,大家都可以一一尝试,这样学起来会更有效果。关于WPF的入门,这次就先简单介绍到这,以后有时间还会在博客中和大家深入探讨WPF。下一篇博客将为大家介绍Windows App的开发。

  • 相关阅读:
    WebStorm 使用过程中出现的一些问题以及解决方案
    常用软件工具收集
    个人博客运营策略总结
    OpenGL glMatrixMode() 函数解释与例子
    让搭建在 Github Pages 上的 Hexo 博客可以被 Google 搜索到
    使用 statcounter 统计 Hexo 博客访问量
    使用 Hexo,Material Theme 以及 Github Pages 搭建个人博客
    Ubuntu 16.04下配置 Nginx 与 Node.js 以及服务的部署
    一个简单的在线代码编辑器的实现
    在已有 Windows10 系统的基础上,安装 Ubuntu17.10 系统(新版 BIOS)
  • 原文地址:https://www.cnblogs.com/cht-inu/p/4506995.html
Copyright © 2020-2023  润新知