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. (二)NetHelper

    [转]http://blog.csdn.net/dingxiaowei2013/article/details/8113454 using System; using System.Text; usi ...

  2. 15天玩转redis —— 第二篇 基础的字符串类型

    我们都知道redis是采用C语言开发,那么在C语言中表示string都是采用char[]数组的,然后你可能会想,那还不简单,当我执行如下命令,肯定是直 接塞给char[]数组的. 如果你真的这么想的话 ...

  3. C#使用Process调用批处理阻塞问题

    PS:又见到熟悉的C#代码了,好开心,哈哈哈.这次又跳坑了,好不容易才爬起来.   公司有自己开发的一套Submit.Compile.Publish的生命周期系统. 在Compile时,需要调用外部的 ...

  4. 使用DataConnectionDialog在运行时设置数据源连接字符串

    介绍: DataConnectionDialog 类: 打开“数据连接”对话框,获取用户选择的数据连接信息. 命名空间为:Microsoft.Data.ConnectionUI 所在程序集:Micro ...

  5. 修复 XE8 FMX TGridLayout 容器自动计算宽度及高度的问题

    说明:TGridLayout 提供计算容器内控件等分的功能: 横式(Orientation=Horizontal)可将 ItemWidth = -1(小于0则自动等分) 直式(Orientation= ...

  6. 18 个命令&工具帮你定位 Linux 性能问题

    1.TopTop命令是一个性能监控程序,它按一定的顺序显示所有正在运行而且处于活动状态的实时进程,而且会定期更新显示结果.这条命令显示了CPU的使用率.内存使用率.交换内存使用大小.高速缓存使用大小. ...

  7. Hibernate(九)__OpenSessionInView解决懒加载问题

    什么是OpenSessionInView? 在hibernate中使用load方法时,并未把数据真正获取时就关闭了session,当我们真正想获取数据时会迫使load加载数据,而此时session已关 ...

  8. 你会喜欢的25个创意的扁平化 LOGO 设计

    扁平设计的风暴席卷了整个设计领域,它不仅影响网页设计,也影响了用户界面和标志设计.最近,我们看到了很多大公司,如谷歌和必应开始使用扁平设计的标识. 一个 LOGO 应该简单,显眼和精美,以适应产品的整 ...

  9. Debug - 支持浏览器和 Node 平台的全端调试工具

    Debug 是一个跟踪调试消息的 JavaScript 库.因为它只是对 console.log 的包装,所以支持 Node 和浏览器.它允许你过滤日志输出而不需要改变你的源代码,也输出时间差异,可以 ...

  10. 模拟position:fixed效果

    大家都知道fixed定位相对于浏览器窗口,下面就介绍一种不用fixed也能实现其效果的定位方法,就那点css代码,这里就直接呼上来: <!DOCTYPE html> <html> ...