Liam的C# 学习历程(七):WPF(Windows Presentation Foundation)、Windows Form Applications

  在今天的课堂中,老师向我们讲述了关于一些WPF(Windows Presentation Foundation)和Windows Form Applications的内容,接下来就让我们一起来复习一下:

(一)、WPF(Windows Presentation Foundation):

  WPF是一个重要运用于desktop手机开发方面。它使用到了一种XML的变形语言——XAML的语言(eXtensible Application Markup Language)。

  使用XAML开发人员可以对WPF程序的 所有用户界面元素(例如文本、按钮、图像和列表框等)进行详细的定置,同时还可以对整个界面进行合理化的布局,这与使用HTML非常相似。但是由于 XAML是基于XML的,所以它本身就是一个组织良好的XML文档,而且相对于HTML,它的语法更严谨、更明确。预计以后大部分的XAML都可由相应的软件自动生成,就如同我们现在制作一个静态页面时,几乎不用编写任何HTML代码就可以直接通过Dreamweaver软件生成一个美观的页面。

  在课外,我又通过Bob Tabor的C#教学视频,更深入的学习了一些关于XAML的程序,通过这些视频的讲解,我们可以更加深刻的体会理解,下面就是一个简单的实例以及其输出结果:

 1  x:Class="GridsRowsAndColumns.MainPage"
 2     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 3     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 4     xmlns:local="using:GridsRowsAndColumns"
 5     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
 6     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
 7     mc:Ignorable="d"
 8     Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
 9
10     <Page.Resources>
11         <Style TargetType="TextBlock">
12             <Setter Property="FontSize" Value="42" />
13         </Style>
14     </Page.Resources>
15
16     <Grid>
17         <Grid.RowDefinitions>
18             <RowDefinition Height="*" />
19             <RowDefinition Height="*" />
20             <RowDefinition Height="*" />
21         </Grid.RowDefinitions>
22         <Grid.ColumnDefinitions>
23             <ColumnDefinition Width="*" />
24             <ColumnDefinition Width="*" />
25             <ColumnDefinition Width="*" />
26         </Grid.ColumnDefinitions>
27
28         <TextBlock>1</TextBlock>
29         <TextBlock Grid.Column="1">2</TextBlock>
30         <TextBlock Grid.Column="2">3</TextBlock>
31
32         <TextBlock Grid.Row="1">4</TextBlock>
33         <TextBlock Grid.Row="1" Grid.Column="1">5</TextBlock>
34         <TextBlock Grid.Row="1" Grid.Column="2">6</TextBlock>
35
36         <TextBlock Grid.Row="2">7</TextBlock>
37         <TextBlock Grid.Row="2" Grid.Column="1">8</TextBlock>
38         <TextBlock Grid.Row="2" Grid.Column="2">9</TextBlock>
39
40     </Grid>
41 </Page>

输出结果:

  

(二)、Windows Form Applications:

  其实在老师进行这一章的讲解之前,我们就在编写CRC_Generation时使用到了这一方面的内容,下面让我通过这个程序来回顾一下相关内容:

  我编写的代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace CRC_Generation_Form
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            RegisterBox.ReadOnly = true;
        }

        private void OKButton_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process p = new System.Diagnostics.Process();
            string debugAddress = Environment.CurrentDirectory;
            p.StartInfo.FileName = debugAddress + "\\CRC_Generation.exe";
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.CreateNoWindow = true;
            p.StartInfo.Arguments = PathBox.Text;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardError = true;
            p.StartInfo.RedirectStandardInput = true;
            p.Start();
            OutputBox.Items.Add(p.StandardOutput.ReadToEnd());
            //PathBox.value = "";
         }
    }
}

  这其中主要是对OK_Button的Click事件进行了内容的编写,通过process语句与外部提前编写好的控制台程序相连接,并将输出重定向到Form中的OutputBox中,其输出结果如下:

(错误输入)

(正确输入)

时间: 2024-10-06 01:20:47

Liam的C# 学习历程(七):WPF(Windows Presentation Foundation)、Windows Form Applications的相关文章

Windows Presentation Foundation (WPF) 项目中不支持xxx的解决

一般Windows Presentation Foundation (WPF) 项目中不支持xxx都是由于没引用相应的程序集导致,比如Windows Presentation Foundation (WPF) 项目中不支持RotateTransform是由于没有引用PresentationCore程序集,引用即可解决问题. 原文地址:https://www.cnblogs.com/ssvip/p/9528882.html

Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)

原文:Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定) --------------------------------------------------------------------------------引用或转载时请保留以下信息:大可山?[MSN:a3news(AT)hotmail.com] http://www.zpxp.com?http://www.brawdraw.com萝卜鼠在线图形图像处理

SharePoint 创建列表并使用Windows Presentation Foundation应用程序管理列表

SharePoint创建列表并使用程序管理列表 列表是SharePoint开发人员输入数据的方式之一.使用Web界面创建一个列表并添加一些数据,步骤如下: 1. 打开站点. 2. 点击所有网站内容. 3. 点击创建. 4. 选择自定义列表,命名Customers,并输入描述.选中在快速启动导航显示,点击创建. 这将创建一个自定义列表.接下来我们添加三个栏:Region/Size/Sales. 1. 点击功能区创建栏按钮,命名Region,选择"选项"类型.增加四个选项:East/Wes

介绍 Windows Presentation Foundation

WPF 是一个库,为开发用户界面提供了全新的模型,用它创建桌面的应用程序比使用 Windows 窗体更有优势:WPF 还提供了新的基于 XML 的语言 XAML,用于处理大量的窗体布局,而让 F# 专注于开发应用程序的感兴趣部分. 注意 现在有几种 XAML 设计器,这些设计器使用图形化的所见即所得(WYSWIG)工具设计界面,然后,用 F# 为其添加交互性.例如,Mobiform 提供的设计器 Aurora (http://www.mobiform.com/eng/aurora.html),

Liam的C# 学习历程(九):实验学习

在最近的几周里,我们结合老师在课堂上所讲的知识,以及课下在通过视频学习的内容,通过Win8.1 App.WP8.1 App以及WPF的三种形式,联系了C#的一些具体的编程方法.下面我们就来回顾一下在编程过程中所使用到的一些方法: (一).页面之间的跳转: 对于这一部分,在编写Windows App时和编写WPF是所使用的方法是不同的,下面就分别来介绍一下: 1.Windows App: Frame.Navigate(typeof(DetailPage), file1); //跳转至名为Detai

Liam的C# 学习历程(五):正则表达式(Regular Expressions)

在这周的C#课堂上,我们学习了一些关于正则表达式的知识,结合老师上课所讲的,我又在网上搜索了一些相关的知识,接下来就让我们来实验一下. 首先我们先来复习一些在Linux课堂上学习过的简单的正则表达式的符号: “ . ” :通配一个单个字符,例如“a."可以在“ab.ac.cd.a1.abc”中通配出:“ab.ac和a1”: “.. ” :  与上一个类似,通配两个任意的字符. “ * ”:通配前一个字符的多次出现,  例如“a*”可以通配出:空.a.aa.aaa等: “{}”:可以通配出前一个字

Liam的C# 学习历程(六):LINQ(Language-INtegrated Query)

在这一周的C#课程中,我们学习了一些在C#编程中需要用到的对数据库或XML文件进行处理的操作,这就是LINQ,它使得一种类似与我们在数据库中常用的SQL语言的查询语言成为了C#语言的一部分,方便了我们搜索数据库等方面的操作.下面我们就来一起复习一下. (一)创建LINQ(Creating the Query): 1.From字句(The from clause):指定范围变量和数据源 from customer in customers //customer:range variable fro

Liam的C# 学习历程(九):最终产品规格说明书

"What is Today's Memory"规格说明书 Course Registration Problem Statement Version 1.0 Revision History Date Issue Description Author 17/May/2015 1.0 Initial creation. Finished the basic usage of original design. Liu Chang Course Registration Problem S

Liam的C# 学习历程(三):类与对象、继承与多态

在这一次的课程中,我们主要学习了C#中一些关于类的的具体应用和面向对象(OOP)的三大特点:封装(Encapsulation).多态(Polymorphism)和继承(Inheritance).接下来就让我们来实验一下学到的知识. (一)This 关键字 this关键字(又称this指针)是类中所有非静态方法的隐藏指针. 调用this的方法有很多种,首先是在收到与成员变量同名的参数时,使用this可以避免混淆,就像下面过程所演示的: 成员函数SomeMethod收到了一个与成员变量hour同名的