在线演示http://v.youku.com/v_show/id_XNzA0NjU1Mjk2.html

清晰版视频+代码下载http://115.com/lb/5lbcftnrfo9s



一、简单介绍

本篇让我们一起来了解一下WPF对控件的定义。以及它的六大类控件。分别为:内容控件、带标题的内容控件、条目控件、带标题的条目控件、特殊控件、布局控件。

主要内容包含:

1、WPF的控件定义。

2、六类控件概述。

3、小结。

二、WPF的控件定义

WPF把那些可以展示数据、响应用户操作的UI元素称为控件。控件所展示的数据称之为数据内容;控件在响应用户的操作后会运行一些方法或以事件的形式通知应用程序(程序猿可以决定怎样处理这些事件),我们称之为控件的行为或算法内容。

摘自刘铁锰的《深入浅出WPF》一书。



三、WPF六类控件概述

(一)内容控件ContentControl

1、控件特点

①内容属性的名称为Content;

②仅仅能由单一元素充当其内容。

2、控件列表





(二)带标题的内容控件HeaderedContentControl

1、控件特点

①拥有两个显示区域:一个显示主体内容。一个显示标题。

②内容属性的名称分别为Content和Header;

③不管是Content还是Header仅仅能由单一元素充当其内容。

2、控件列表





(三)条目控件ItemsControl

1、控件特点

①用于显示列表化的数据。

②内容属性的名称为Items或ItemSource;

③有自己的条目容器(Item Container)。

2、控件列表

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2p5c2s=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">



3、话说条目容器是个啥玩意?

①概述

条目容器把数据集合中条目逐个包装,再将包装好的序列当做条目控件的集合内容。

②条目控件和条目容器相应表





(四)带标题的条目控件HeaderedItemsControl

1、控件特点

①用于显示列表化的数据。同一时候显示一个标题;

②内容属性的名称为Items、ItemSource和Header;

③有自己的条目容器(Item Container)。

2、控件列表

MenuItem、TreeViewItem和ToolBar。



(五)特殊控件之Decorator

1、控件特点

①给UI加入装饰效果。

②内容属性的名称为Child。

③仅仅能由单一元素充当内容。

2、控件列表





(六)特殊控件之形状Shape

1、控件特点

①用于2D图形绘制;

②无内容属性;

③使用Fill属性设置填充,使用Stroke属性设置边线。



(七)布局控件

1、控件特点

①主要功能是控制UI布局。

②内容属性的名称为Children;

③内容能够是多个元素。布局控件会控制它们的布局。

2、控件列表





四、小结

本演示主要介绍的内容包含:

1、内容控件。

2、带标题的内容控件;

3、条目控件;

4、入口控制标题;

5、特殊控制;

6、布局控制。

版权声明:本文博主原创文章。博客,未经同意不得转载。

WPF六个控制概述的更多相关文章

  1. 034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述

    034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述 本文知识点:Java中的流程控制相关概念的认识 三大流程控制语句结构的简介 顺序 ...

  2. Android核心分析之十六Android电话系统-概述篇

    Android电话系统之概述篇 首先抛开Android的一切概念来研究一下电话系统的最基本的描述.我们的手机首先用来打电话的,随后是需要一个电话本,随后是PIM,随后是网络应用,随后是云计算,随后是想 ...

  3. WPF UI布局之概述

    在线演示:http://v.youku.com/v_show/id_XNzA5NDk2Mjcy.html 清晰版视频+代码下载:http://115.com/lb/5lbeer0m9lad 一.简单介 ...

  4. 《Linux命令行与shell脚本编程大全》第十六章 控制脚本

    一些控制脚本的方式:向脚本发送信号.修改脚本优先级,在脚本运行时切换到运行模式 16.1 处理信号 linux利用信号与运行在系统中的进程进行通信. 也可以通过对脚本进行编程,使其在收到特定信号时执行 ...

  5. 译-BMC Remedy Action Request System权限控制概述

    原文链接:Access control overview 说明: BMC Remedy Action Request System是BMC ITSM产品平台,简称AR 或者Remedy,可实现基于IT ...

  6. nginx 的信号控制概述

    <nginx 在ubuntu 上的启动,停止,重启>中的停止和重启命令基本都是用信号来控制的.这是一些简单的信号控制. 在Nginx服务器中,通常情况都是通过对其发送控制信号进行控制的,除 ...

  7. WPF通过附加属性控制窗口关闭

    场景1 当使用 ShowDialog() 方式显示窗口时,通过定义附加属性的方式可实现在 ViewModel 中进行数据绑定(bool?)来控制子窗口的显示和关闭 public class ExWin ...

  8. Unix环境高级编程(六)进程控制

    本章介绍Unix的进程控制,包括进程创建,执行程序和进程终止,进程的属性,exec函数系列,system函数,进程会计机制. 1.进程标识符 每一个进程都有一个非负整数标识的唯一进程ID.ID为0表示 ...

  9. 设计模式(六):控制台中的“命令模式”(Command Pattern)

    今天的博客中就来系统的整理一下“命令模式”.说到命令模式,我就想起了控制台(Console)中的命令.无论是Windows操作系统(cmd.exe)还是Linux操作系统(命令行式shell(Comm ...

随机推荐

  1. mysql经常使用的命令

    如何登陆数据库     飞机着陆     mysql -u <username> -p     访问本机数据库     mysql -u <username> -D <d ...

  2. Windows Phone开发(16):样式和控件模板

    原文:Windows Phone开发(16):样式和控件模板 在前面资源一文中也提过样式,样式就如同我们做HTML页排版时常用到的CSS样式表,它是对于特定娄型的可视化元素,应该可以直接说是针对控件的 ...

  3. SSO(Single Sign On)系列(一)--SSO简单介绍

    任何类型的站点,到达一定规模之后一定会存在这种问题:比方我们有N个系统.传统方式下我们就须要有N对不同的username和password,本来这些系统的开发都能为我们带来良好的效益,用户在用的时候并 ...

  4. 推荐15个月 Node.js 开发工具

    Node.js 越来月流行.这个基于 Google V8 引擎建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.在本文中.我们列出了2015年最佳的15个 Node.js 开发工具.这些工具 ...

  5. 为Linux用ISO制作U盘启动及基本原理

    制作成功后的基本最简文件夹文件图 一.系统的基本引导流程: 首先系统要引导isolinux.bin可执行程序,此程序是移动介质上引导用的,isolinux.bin执行成功后会载入其配置文件syslin ...

  6. NSOperation 的使用(下载相关) 图片和文件都是能够的 断点续传 图片逐渐显示

    // // ImageDownloader.h // NSOperationTest // // Created by ydc on 11-10-29. // Copyright 2011年 __My ...

  7. java输入输出高速

    头文件: import java.io.*; 定义: BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); ...

  8. java 注解 学习

    周末闲来无事,想要研究一下注解方面的知识,曾经看过几次,都忘记了,这次学习下,而且写篇文章记录下, 1.元注解  元注解是指注解的注解.包含 @Retention @Target @Document ...

  9. SQL学习之--触发器

    USE [learn2] GO /****** Object: Trigger [dbo].[trigger_AdClass] Script Date: 09/30/2014 09:01:03 *** ...

  10. OpenCV面、人眼检测

    /* 功能:实现对眼睛.脸部的跟踪. 版本号:1.0 时间:2014-4-27 */ #include <opencv2/objdetect/objdetect.hpp> #include ...