WPF:1、数据驱动 2、UI定义与运行逻辑分离

一、

  1、编译

      /t:exe 命令行程序;/t:winexe 图形用户界面程序;/t:library 动态链接库

  2、启动

    1)编译后生成的App.g.cs中默认生成了main函数,并运行App类

/// <summary>
/// Application Entry Point.
/// </summary>
[System.STAThreadAttribute()]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public static void Main() {
WpfChapter01.App app = new WpfChapter01.App();
app.Run();
}

    2)App.xaml文件中StartupUri="MainWindow.xaml"语句是启动MainWindow窗体。因此,启动后呈现的界面是MainWindow界面(自定义)。

    3)自定义main函数:右击解决方案内的App.xaml文件,选择Properties(属性),Build Action(生成操作) 从默认ApplicationDefinition改为Page。

      自定义Main函数如下:

/// <summary>
/// App.xaml 的交互逻辑
/// </summary>
public partial class App : Application
{
[STAThread]
public static void Main()
{
WpfChapter01.App app = new WpfChapter01.App();
app.InitializeComponent();
app.Run();
}
}

  3、解析Xaml文件(xaml是声明性语言,xaml编译器为每个标签创建一个与之对应的对象)

    因为xaml文件被解析为x:class所赋值的类名,而这个类名默认情况下与其自身的xaml.cs同名,故xaml.cs中类名使用了patial关键词。

    1)、x:Class是告诉窗口要编译成说明类,x:ClassModifier把类指定为怎么样的访问权限;编译器把x:Name编译成类的属性;x:FieldModified设置属性的访问级别;x:Key资源放到资源字典里,通过Key来检索; x:shared声明资源是否共享,一定要和x:key配合使用,当设置为 false 时,会修改 WPF 资源检索行为,以便特性化资源请求为每个请求创建一个新实例,而不是所有请求共享同一个实例。

     2)、Xaml文档树形结构(协助操作类:VisualTreeHelper 、LogicalTreeHelper)

    3)、Xaml中属性赋值:简单使用字符串(借助TypeConvert类、TypeConvertAttribute类派生类转换,重写ConvertFrom函数,并把TypeConvertAttribute[typeof(ChildTypeConvertClass)])放在目标类上面,即绑定到目标类上、复杂使用属性元素(属性嵌套、罗列)(this.属性名=)

WPF:基础知识的更多相关文章

  1. WPF基础知识、界面布局及控件Binding(转)

    WPF是和WinForm对应的,而其核心是数据驱动事件,在开发中显示的是UI界面和逻辑关系相分离的一种开放语言.UI界面是在XAML语言环境下开发人员可以进行一些自主设计的前台界面,逻辑关系还是基于c ...

  2. WPF基础知识、界面布局及控件Binding

    WPF是和WinForm对应的,而其核心是数据驱动事件,在开发中显示的是UI界面和逻辑关系相分离的一种开放语言.UI界面是在XAML语言环境下开发人员可以进行一些自主设计的前台界面,逻辑关系还是基于c ...

  3. [WPF 基础知识系列] —— 绑定中的数据校验Vaildation

    前言: 只要是有表单存在,那么就有可能有对数据的校验需求.如:判断是否为整数.判断电子邮件格式等等. WPF采用一种全新的方式 - Binding,来实现前台显示与后台数据进行交互,当然数据校验方式也 ...

  4. WPF Step By Step -基础知识介绍

    回顾 上一篇我们介绍了WPF基本的知识.并且介绍了WPF与winform传统的cs桌面应用编程模式上的变化,这篇,我们将会对WPF的一些基础的知识做一个简单的介绍,关于这些基础知识更深入的应用则在后续 ...

  5. wpf(第一章 基础知识)

    wpf第一章基础知识:通过vs2015创建wpf程序会在引用里面多出3个核心程序集PresentationCore.PresentationFramework.WindowsBase.并且会在解决方案 ...

  6. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  7. WPF基础到企业应用系列6——布局全接触

    本文转自:http://knightswarrior.blog.51cto.com/1792698/365351 一. 摘要 首先很高兴这个系列能得到大家的关注和支持,这段时间一直在研究Windows ...

  8. .NET Framework基础知识总结

    之前给大家总结了java的面试几次技巧总结,同学们看了觉得还是不错,能够得到大家的认可,感觉还是挺不错的.现在又有同学来想小编索要.NET面试的总结了,好吧.谁让小编这么好呢!以下是.NET面试之框架 ...

  9. WCF入门教程:WCF基础知识问与答(转)

    学习WCF已有近两年的时间,其间又翻译了Juval的大作<Programming WCF Services>,我仍然觉得WCF还有更多的内容值得探索与挖掘.学得越多,反而越发觉得自己所知太 ...

随机推荐

  1. Relax NG 在Odoo中的应用

    想必有些同学一定会奇怪,Odoo是如何将模块中的XML中的诸如record.menuitem是如何被组织和定义的,以及各种field的各种属性究竟有哪些,今天,我们就来一探究竟. Relax NG:“ ...

  2. 在html中如何获取表单提交的数据

    a.html: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www ...

  3. HTML 几种特别分割线特效

    一.基本线条 二.特效(效果并不是孤立的,可相互组合)1.两头渐变透明:<HR style="FILTER: alpha(opacity=100,finishopacity=0,sty ...

  4. Java MD5加密算法学习

    MD5,即"Message-Digest Algorithm 5(信息-摘要算法)",它由MD2.MD3.MD4发展而来的一种单向函数算法(也就是HASH算法),它是国际著名的公钥 ...

  5. JavaScript方法的调用

    1.假如是有名字的函数 调用是用名字调用,并且会把返回值赋值给接受它的参数 代码: function f() { alert("我是f"); return '我是返回值'; } f ...

  6. Java中Double类型计算问题

    public class Test{    public static void main(String args[]){        System.out.println(0.05+0.01);  ...

  7. .Net using,string.Empty初探

    前两天够哦年公司培训,讲了编码优化.现在初步总结下:(有些不大确定的就不讲了) 多次字符串拼接(特别是循环内),宜用stringBuilder.Append()方法,少用字符串+,至于string.F ...

  8. yii框架分页

  9. ecshop增加新字段及相应编辑器

    一.在数据库添加字段,会手写的就后台添加,不会就进入phpmyadmin默认的就行.      这是通用的写法:(这里是增加类似商品描述的字段,其他字段自行更改) ALTER TABLE `ecs_g ...

  10. Linux系统下Redis安装(二)

    上一篇随笔,已经成功开启了Redis-server,客户端已经可以正常对redis进行正常操作. 但是,redis-server开启的同时,一个大大doc黑屏也在那里开启着,接下来就对讲解如何在Lin ...