GroupBox

用来组织多种控件的常见控件,因为是内容空间,只能直接包含一项,需要使用面板一类的中间空间。

Header和Content可以是任意元素

<GroupBox>
<GroupBox.Header>
<WrapPanel Margin="">
<Image Source=".\Image\icon.png"></Image>
<TextBlock Text="Database List: " FontSize="" />
</WrapPanel>
</GroupBox.Header>
<GroupBox.Content>
<StackPanel TextBlock.FontSize="" Margin="">
<TextBlock Text="DB001" />
<TextBlock Text="DB002" />
<TextBlock Text="DB003" />
<TextBlock Text="DB004" />
<TextBlock Text="DB005" />
</StackPanel>
</GroupBox.Content>
</GroupBox>

更多内容

http://www.dotnetperls.com/groupbox-wpf

https://msdn.microsoft.com/en-us/library/system.windows.controls.groupbox(v=vs.110).aspx

Expander 

类似GroupBox,包含一个按钮可以展开或折叠内容

<StackPanel Margin="">
<Expander>
<Expander.Header>
<WrapPanel Margin="">
<Image Source=".\Image\icon.png" Height="" ></Image>
<TextBlock Text="Database List: "></TextBlock>
</WrapPanel>
</Expander.Header>
<Expander.Content>
<StackPanel TextBlock.FontSize="">
<TextBlock Text="DB001" />
<TextBlock Text="DB002" />
<TextBlock Text="DB003" />
<TextBlock Text="DB004" />
</StackPanel>
</Expander.Content>
</Expander>
<Expander ExpandDirection="Left">
<Expander.Header>
<WrapPanel Margin="">
<Image Source=".\Image\icon.png" Height="" ></Image>
<TextBlock Text="Database List: "></TextBlock>
</WrapPanel>
</Expander.Header>
<Expander.Content>
<StackPanel TextBlock.FontSize="">
<TextBlock Text="DB001" />
<TextBlock Text="DB002" />
</StackPanel>
</Expander.Content>
</Expander>
<Expander ExpandDirection="Right">
<Expander.Header>
<WrapPanel Margin="">
<Image Source=".\Image\icon.png" Height="" ></Image>
<TextBlock Text="Database List: "></TextBlock>
</WrapPanel>
</Expander.Header>
<Expander.Content>
<StackPanel TextBlock.FontSize="">
<TextBlock Text="DB001" />
<TextBlock Text="DB002" />
</StackPanel>
</Expander.Content>
</Expander>
<Expander ExpandDirection="Up">
<Expander.Header>
<WrapPanel Margin="">
<Image Source=".\Image\icon.png" Height="" ></Image>
<TextBlock Text="Database List: "></TextBlock>
</WrapPanel>
</Expander.Header>
<Expander.Content>
<StackPanel TextBlock.FontSize="">
<TextBlock Text="DB001" />
<TextBlock Text="DB002" />
</StackPanel>
</Expander.Content>
</Expander>
</StackPanel>

简化代码

创建一个ExpanderDemo类

public partial class ExpanderDemo : Expander
{
public ExpanderDemo()
{
InitializeComponent();
}
}
<Expander x:Class="Alex_WPFControl.ExpanderDemo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
> <Expander.Header>
<WrapPanel Margin="">
<Image Source=".\Image\icon.png" Height="" ></Image>
<TextBlock Text="Database List: "></TextBlock>
</WrapPanel>
</Expander.Header>
<Expander.Content>
<StackPanel TextBlock.FontSize="">
<TextBlock Text="DB001" />
<TextBlock Text="DB002" />
        ...
</StackPanel>
</Expander.Content>
</Expander>

Window.xaml

<StackPanel>
<local:ExpanderDemo />
<local:ExpanderDemo ExpandDirection="Left" />
<local:ExpanderDemo ExpandDirection="Right" />
<local:ExpanderDemo ExpandDirection="Up" />
</StackPanel>

更多内容

http://blog.csdn.net/tcjiaan/article/details/6970200

https://msdn.microsoft.com/en-us/library/system.windows.controls.expander(v=vs.110).aspx

To be continue...

WPF学习之路(十二)控件(HeaderedContent控件)的更多相关文章

  1. 【WPF学习】第二十二章 文本控件

    WPF提供了三个用于输入文本的控件:TextBox.RichTextBox和PasswordBox.PasswordBox控件直接继承自Control类.TextBox和RichTextBox控件间接 ...

  2. WPF学习之路(二) XAML(续)

    属性 简单属性 前面用到的Width/Height都是简单属性,其赋值一定要放到双引号里 XAML解析器会根据属性的类型执行隐式转换 与C#的区别 SolidBrush.Color = Colors. ...

  3. zigbee学习之路(十二):zigbee协议原理介绍

    一.前言 从今天开始,我们要正式开始进行zigbee相关的通信实验了,我所使用的协议栈是ZStack 是TI ZStack-CC2530-2.3.0-1.4.0版本,大家也可以从TI的官网上直接下载T ...

  4. IOS学习之路十二(UITableView下拉刷新页面)

    今天做了一个下拉刷新的demo,主要用到了实现的开源框架是:https://github.com/enormego/EGOTableViewPullRefresh 运行结果如下: 实现很简单下载源代码 ...

  5. WPF学习之路(二) XAML

    在WPF中引入了XAML语言,主要用于界面设计,业务逻辑则使用C#实现后台代码,将界面设计与业务逻辑分离 XAML是一种声明式语言,类似XML\HTML 示例: <!--Start Tag--& ...

  6. Object-c学习之路十二(OC的copy)

    oc中的拷贝分为:copy(浅拷贝)和mutablecopy(深拷贝). 浅拷贝也为指针拷贝,拷贝后原来的对象计数器会+1: 深拷贝为对象拷贝,原来的对象计数器不变. 注意:自定义对象拷贝时要实现NS ...

  7. Java学习之路(十二):IO流<二>

    字符流 字符流是可以直接读写字符的IO流 使用字符流从文件中读取字符的时候,需要先读取到字节数据,让后在转换为字符 使用字符流向文件中写入字符时,需要把字符转为字节在写入文件 Reader和Write ...

  8. 嵌入式Linux驱动学习之路(十二)按键驱动-poll机制

    实现的功能是在读取按键信息的时候,如果没有产生按键,则程序休眠在read函数中,利用poll机制,可以在没有退出的情况下让程序自动退出. 下面的程序就是在读取按键信息的时候,如果5000ms内没有按键 ...

  9. Java学习之路(十二):IO流<三>

    复习:序列流 序列流可以把多个字节输入整合成一个,从序列流中读取到数据时,将从被整合的第一个流开始读取,读完这个后,然后开始读取第二个流,依次向后推. 详细见上一篇文章 ByteArrayOutput ...

  10. Java学习之路(十二):IO流

    IO流的概述及其分类 IO流用来处理设备之间的数据传输,Java对数据的操作是通过流的方式 Java用于操作流的类都在IO包中 流按流向分为两种:输入流(读写数据)     输出流(写数据) 流按操作 ...

随机推荐

  1. C#中是否可以继承String类

    C#中是否可以继承String类? 答:String类是sealed类故不可以继承. 当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承. 在下面的示例中,类 HoverTree ...

  2. 使用JSLint提高JS代码质量

    随着富 Web 前端应用的出现,开发人员不得不重新审视并重视 JavaScript 语言的能力和使用,抛弃过去那种只靠“复制 / 粘贴”常用脚本完成简单前端任务的模式.JavaScript 语言本身是 ...

  3. jquery_layout

    http://layout.jquery-dev.com/documentation.cfm

  4. C#网站发布在IIS10上,Access数据库读取为空白的解决方案

    打开IIS10,进入应用程序池,右边“设置应用程序池默认设置”中,启用32位应用程序,False改为True即可.

  5. 解决 com.sun.*包导入错误

    解决 com.sun.*包导入错误 com.sun.image.codec.jpeg.*导入错误如何解决: com.sun.*是受限制访问的API,Eclipse 默认把受访问限制的API设成了ERR ...

  6. DataSet的灵活,实体类的方便,DTO的效率:SOD框架的数据容器,打造最适合DDD的ORM框架

    引言:DDD的困惑 最近,我看到园子里面有位朋友的一篇博客 <领域驱动设计系列(一):为何要领域驱动设计? >文章中有下面一段话,对DDD使用产生的疑问: •没有正确的使用ORM, 导致数 ...

  7. sql2012还原sql2008备份文件语句

    --sql2012还原sql2008语句 --选择master数据库,新建查询 输入下面sql语句 --选择兼容模式(sql 2008)创建数据库db RESTORE DATABASE db FROM ...

  8. Android应用开发基础之十一:新特性

    Fragment 用途:在一个Activity里切换界面,切换界面时只切换Fragment里面的内容 生命周期方法跟Activity一致,可以理解把其为就是一个Activity 定义布局文件作为Fra ...

  9. Kickoff - 创造可扩展的,响应式的网站

    Kickoff 是一个轻量级的前端框架,用于创建可扩展的,响应式的网站.作为前端开发人员,我们工作的类型越来越多样化.Kickoff 旨在帮助您在所有项目保持一致的结构和风格,无需添加其他框架. 在线 ...

  10. 25佳漂亮的结婚邀请 & 婚礼请柬网站设计

    互联网给我们的生活带来了巨大的变化,越来越多的事情可以通过网络完成.下面向大家分享一组结婚邀请网站以及婚礼请柬网站的设计案例,如果你也正想制作这样的网站,相信这些优秀案例能够带给你很大的帮助. 您可能 ...