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. jq实现点击表格无刷新修改数据,优化版

    <!-------------------修改密码-------------------------- > $("#pwd").live("click&quo ...

  2. unity3d插件Daikon Forge GUI 中文教程1-Daikon Forge介绍

    DF-GUI特点: ·        深编辑器集成:DF-GUI提供广泛的整合与Unity3D编辑环境,包括自定义检查人员对每个组件向导来简化复杂的多步任务,提高生产力的上下文菜单,编辑控件在一个所见 ...

  3. PHP版本过狗Shell

    默认密码demo使用方法 按p 输入密码 或者 你保存的xx.php?password=demo自定义密码在define('iphp','demo2'); demo2 为你设定的密码. <?ph ...

  4. spring security使用数据库资源

    国内对权限系统的基本要求是将用户权限和被保护资源都放在数据库里进行管理,在这点上Spring Security并没有给出官方的解决方案,为此我们需要对Spring Security进行扩展.. 数据库 ...

  5. VPN fq工具的选择

    豆荚VPN还是不错的.有时候百度会打不开,重新连接一下就可以了 http://wandou.shouyo99.com/ 如果高速模式不可以,请记得选择PPTP模式!!!但有个副作用就是百度打不开了--

  6. 关于struts2上传图片临时文件

  7. Run P4 without P4factory - A Simple Example In Tutorials. -2 附 simple_router源码

    /* Copyright 2013-present Barefoot Networks, Inc. Licensed under the Apache License, Version 2.0 (th ...

  8. 导入TDP数据包备份

    package org.alfresco.repo.bom.util; import java.io.BufferedReader; import java.io.File; import java. ...

  9. JDBC 基本操作

    1. 简介 JDBC(Java DataBase Connectivity) 是有一些接口和类构成的API JDBC是J2SE的一部分, 又java.sql: javax.sql包组成.   应用程序 ...

  10. 2014年国人开发的最热门的开源软件TOP 100

    不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必.做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外的认可.中国是 ...