在WPF自学入门(二)WPF-XAML布局控件的文章中分别介绍StackPanel,WarpPanel,DockPanel,Grid,Canvas五种布局容器的使用,可以让我们大致了解容器可以使用在什么地方。今天我们就来简单了解一下WPF中的三个带标题的内容控件,分别是GroupBox,TabControl和Expander

一、GroupBox控件

这个控件可以叫做分组控件,可以把已经用布局控件包装好的一系列的控件放到里面分为一个组,例如,我们可以放入RadioButton进去,那么就不用设置GroupName也能对单选按钮进行分组了。这个GroupBox是带有圆角的和一个标签和内容的控件,大概是这样子的:

创建一个GroupBox就是这么简单。好了,这就是GroupBox的使用。当然,Header可以使用更复杂的逻辑,这就要发挥了。控件使用注意事项:我刚开始使用WPF时在使用GroupBox做登录框的布局,发现放一个标签后无法再次放标签。后面想了想在GroupBox控件上放布局控件StackPanel,在放多个控件就没有问题了。所以请大家注意放多个控件时,需要放布局控件在放需要常规控件。

二、TabControl控件

TabItem是代表TabControl中的一页,在一个TabControl中需要多少页就要靠自己添加。默认的页签是字符串,例如:页签一,看一下TabControl长什么样

页签可以是字符串,也可以是图片。接下来,我们可以将页签一的文字更改为图片。看看实际效果

只添加图片无法满足实际设计需要,WPF中的TabControl也可以弄成图文形式的组合。看看效果图

这是默认模式的,选择栏是顶部,可以设置为侧边显示,可以通过设置TabStripPlacement属性有四种模式:Left,Right,Bottom,Top(默认)。

三、Expander控件

Expander控件是可扩展的控件,它内容默认开始是隐藏好的,很像帮助界面那样,不会在界面给出全部的信息,全部隐藏好,如果你想知道哪个方面的东西,就扩展哪一个Expander,系统默认的样式个人觉得不是很好的,我们可以通过自定义模板来改进样式,首先,一起来看一下Expander控件的使用方法。

我定义了4个Expender,分别是不同方向的展开方式,注意展开方向的使用ExpandDirection控制着在,然后内容各自镶嵌的自己的东西,就是这么简单,最后,看一下程序结果。

到这里已经简单介绍了三个控件的基本使用,大家应该都知道了三个带标题的内容控件的使用,其实操作一遍后会感觉很简单。WPF是编写程序的核心回到了数据驱动程序的模式上面。下一篇我们进入数据驱动的学习,初识Binding。

WPF自学入门(六)WPF带标题的内容控件简单介绍的更多相关文章

  1. ASP.NET AJAX入门系列(6):UpdateProgress控件简单介绍

    在ASP.NET AJAX Beta2中,UpdateProgress控件已经从“增值”CTP中移到了ASP.NET AJAX核心中.以下两篇关于UpdateProgress的文章基本翻译自ASP.N ...

  2. WPF之核心面板(容器)控件简单介绍

    一.Canvas 1.官方表述:定义一个区域,在该区域中可以使用相对于该区域的坐标显式定位子元素. 2.对于canvas 的元素的位置,是靠控件的大小及Canvas.Top.Canvas.Left.C ...

  3. wpf 控件简单介绍

  4. ASP.NET AJAX入门系列(10):Timer控件简单使用

    本文主要通过一个简单示例,让Web页面在一定的时间间隔内局部刷新,来学习一下ASP.NET AJAX中的服务端Timer控件的简单使用. 主要内容 Timer控件的简单使用 1.添加新页面并切换到设计 ...

  5. WPF 入门笔记之控件内容控件

    一.控件类 在WPF中和用户交互的元素,或者说.能够接受焦点,并且接收键盘鼠标输入的元素所有的控件都继承于Control类. 1. 常用属性: 1.1 Foreground:前景画刷/前景色(文本颜色 ...

  6. WPF 10天修炼 第五天- 内容控件

    WPF内容控件 在WPF中,所有呈现在用户界面上的对象都称为用户界面元素.但是只有派生自System.Windows.Controls.Control类的对象才称为控件.内容控件通常是指具有Conte ...

  7. WPF自学入门(三)WPF路由事件之内置路由事件

    有没有想过在.NET中已经有了事件机制,为什么在WPF中不直接使用.NET事件要加入路由事件来取代事件呢?最直观的原因就是典型的WPF应用程序使用很多元素关联和组合起来,是否还记得在WPF自学入门(一 ...

  8. WPF自学入门(十一)WPF MVVM模式Command命令

    在WPF自学入门(十)WPF MVVM简单介绍中的示例似乎运行起来没有什么问题,也可以进行更新.但是这并不是我们使用MVVM的正确方式.正如上一篇文章中在开始说的,MVVM的目的是为了最大限度地降低了 ...

  9. WPF自学入门(十二)WPF MVVM模式提取函数

    我们平时在写代码时为了不重复写代码,会进行复制代码或者写通用方法.今天我们就来把上传做的函数提取成为通用的方法调用.把上次写的函数提取为两个主要的文件:ObserableObject和RelayCom ...

随机推荐

  1. Java堆栈内存总结

    在Java中,主要存在四块内存空间,除了保存static类型属性的全局数据区,以及保存虽有方法定义的全局代码区之外,程序员更多的在乎内存中的另外两种区域--对象的生存空间堆(heap)和方法调用及变量 ...

  2. MySQL事务处理案例演示

    <?php $mysqli=new mysqli("localhost", "root", "123456", "xsphp ...

  3. 【Javascript】在文本框光标处插入文字并定位光标 (转)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. Java经典编程题50道之二十四

    有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁.问第4个人岁数,他说比第3个人大2岁. 问第三个人,他说比第2人大两岁.问第2个人, 说比第一个人大两岁.最后问第一个人,他说是10岁. 请问 ...

  5. mysql window版本下载

    最小的版本:https://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.54-win32.msi

  6. java5 - 数组与排序算法

    数组是什么? 一.一维数组 1 声明与定义的区别 一般的情况下我们常常这样叙述, 把建立空间的声明称之为"定义", 而把不需要建立存储空间称之为"声明". 很明 ...

  7. Netbeans文件被误删怎么办?

    辛辛苦苦写的代码突然不见了,上午还是有的,哪去了?怎么办? 破解办法: 1,良好的版本管理工具(git||svn)使用习惯,代码每天上传更新,技术文件有丢失,也就一天的. 2,Netbeans提供的备 ...

  8. ubuntu Emergency Mode

    sudo fsck -y /dev/sda# e2fsck -f -y -v -C 0 /dev/sda#

  9. 1.11 str 字符串

    字符串属于不可变序列,是 文本序列. 字符串的声明 >>> #字符串的声明既可以用单引号也可以用双引号,这两个能方法在效果上是一样的 >>> s = '' > ...

  10. 试着简单易懂记录synchronized this object Class的区别,模拟ConcurrentHashMap

    修饰静态方法默认获取当前class的锁,同步方法没有释放的锁,不影响class其他非同步方法的调用,也不影响不同锁的同步方法,更不影响使用class的其他属性. package thread.base ...