控 件

一、控件是门面,控件有很多,最常用的有六种

1、布局控件:是可以容纳多个控件或者嵌套其他布局的控件,用于在UI上组织和 排列控件。Grid、StackPanel、DockPanel等控件都属此类,它们拥有共同的父 类为Panel。

2、内容控件:只能容纳一个控件或者布局控件作为他的内容。Window、Button等 控件属于此类,因为只能容纳一个控件作为其内容,所以经常借助布局控件来 规划其内容。它们的共同父类是ContentControl。

3、带标题内容控件:相当于一个内容控件,但是可以加一个标题(Header),标 题部分亦可容纳一个控件或者布局,GroupBox、TabItem等是这类控件的典型 代表。它们的共同父类是HeaderedContentControl。

4、条目控件:可以显示一列数据,一般情况下这列数据的类型是相同的。此类控 件包括ListBox、ComboBox等。它们额共同基类是ItemsControl。此类控件在 显示集合类型数据方面功能比较强大。

5、带标题条目控件:相当于一个条目控件加上一个标题显示区。TreeViewItem、 MenuItem都属于此类控件。这类控件往往用于显示层级关系数据,结点显示在 其Header区域,子级结点则显示在其条目控件区域。此类控件的共同基类是 HeaderdeItemsControl。

6、特殊内容控件:比如TextBox容纳的是字符串、TextBlock可以容纳可自由控制格 式的文本、Image容纳图片类型数据等。这类控件相对比较独立,但也比较常 用。

派生关系如图

二、WPF的内容模型

三、各类内容模型详解

我们把符合某类内容模型的UI元素称为一个族,每个族用它们共同基类来命名。

3.1 ContentControl族 本族元素的特点如下:

均派生自ContentControl类。

它们都是控件(Control)。

内容属性的名称为Content。

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

Button控件属于这一族

但如果你想让Button的内容既包含文字又包含图片是不行的:

Button只能接受一个元 素作为它的Content。

如果真的需要一个带图标的Button,控件的内容也可以是控件,我们只需要先用一个可以包含多个元素的布局控件把图片和文字包装起来,再把这个布局控件作为Button的内容就好了。

ContentControl族包含的控件

3.2 HeaderedContentControl族 本族元素的特点如下:

它们都派生自HeaderedContentControl类,HeaderedContentControl是 ContentControl类的派生类。 它们都是控件,用于显示带标题的数据。 除了用于显示主体内容的区域外,控件还具有一个显示标题(Header)的区域。 内容属性为Content和Header。 无论是Content还是Header都只是容纳一个元素作为其内容。 HeaderedContentControl族包含的控件如表所示。

以上就是我的分享!请多多指教!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值