WPF从我炫系列3---内容控件的用法

今天我来给大家讲解WPF中内容控件的用法,在WPF中的内容控件,通俗的讲,是指具有Content属性的控件,content属性里面可以嵌套放置任意其他类型的控件,但是Content只能接受单个元素,可以通过布局控件来组合放置多个元素。它继承System.Windows.Controls.ContentControl这个类。

WPF中的内容控件大致可以分为4类:

1.       直接派生自ContentControl控件

WPF控件库中,大多数控件都是这种类型的控件.,例如BUTTON,按钮,列表框控件,LABEL控件。关于这中类型的控件,在后面我们会单独挑出一节课来讲,在这一章我们就不在仔细阐释。

2.派生自HeaderContentControl的控件

这中类型的控件一般都包括一个标头和一个内容项。在WPF中这种类型的控件般包括Expander,GroupBox,TabItem这三种类型的控件.

下面我们来一一演示这三种控件的用法

Expander带标题的可折叠控件.

这种控件类似于WINFOWS XP中,打开我的电脑,窗体左侧中的可折叠面板控件。

效果图

 

Expander控件的IsExpanded的属性可以设置或获取控件的当前折叠状态。在图中的expander1

控件的IsExpanded="True",当窗体初次加载时,就会显示其内容。IsExpanded属性默认为false

ExpandDirection属性可以设置控件的展开方向,可以设置上下左右展开

图中名称为expander2的控件的展开方向设置为想右展开

 

代码

<Window x:Class="WpfContentControl.MainWindow"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="MainWindow" Height="350" Width="525">

    <Grid>

        <Grid.RowDefinitions>

            <RowDefinition></RowDefinition>

            <RowDefinition></RowDefinition>

        </Grid.RowDefinitions>

            <Expander Header="¨¦?Ìt?ã?1"  Name="expander1" IsExpanded="True" >

            <StackPanel>

                <RadioButton>D¨²</RadioButton>

                <RadioButton>¨¤¨²</RadioButton>

                <RadioButton>¨?À?</RadioButton>

                <RadioButton>¤¡§¨²</RadioButton>

               

            </StackPanel>

        </Expander>

        <Expander  Name="expander2" Grid.Row="1" ExpandDirection="Right">

            <Expander.Header>

                <Image Source="1.gif"  Width="50" Height="50"></Image>

            </Expander.Header>

            <StackPanel>

                <CheckBox>¤¡§¨²¨®</CheckBox>

                <CheckBox>°a䨮¤?¨®</CheckBox>

                <CheckBox>㨪西¡Â¨®</CheckBox>

                <CheckBox>ã¡é¨´ª¡é¨®</CheckBox>

            </StackPanel>

        </Expander>

    </Grid>

</Window>

注意:Expander控件提供了一些事件供用户进行操作。

Collapsed事件:在控件的内容被折叠收起前,引发该事件。

Expanded事件:在控件的内容被展开显示前,引发该事件。

Expander提供了很多事件,关于其他事件的使用,用户可以在属性窗口中找到相应的事件,可以一一试验.

 

GroupBox组合框控件

WPF中的  GroupBox控件类似于WINFORM中的GroupBox控件,用于组合一些相关的控件,它也是包含一个标头和一个内容,同时可以自定义标头

效果图

 

代码

<Window x:Class="WpfContentControl.groupctrl"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="groupctrl" Height="385" Width="559">

    <Grid>

        <Grid.RowDefinitions>

            <RowDefinition></RowDefinition>

            <RowDefinition></RowDefinition>

        </Grid.RowDefinitions>

        <GroupBox  Name="groupBox1" BorderBrush="Red">

            <GroupBox.Header>

                <StackPanel Orientation="Horizontal">

                    <Image Source="1.gif"></Image>

                    <TextBlock>GroupBox使º1®?Yº?</TextBlock>

                </StackPanel>

            </GroupBox.Header>

            <StackPanel>

                <CheckBox>D¨²¨®</CheckBox>

                <CheckBox>¤¡§¨²¨®</CheckBox>

                <CheckBox>¨?À?¨®</CheckBox>

                <CheckBox>¨¤¨²¨®</CheckBox>

            </StackPanel>

        </GroupBox>

    </Grid>

</Window>

 

TabControl标签控件

TabControlwinform中的TabControl控件类似,它也可以自定义标头,可以定义多个标签项,通过设置标签项的IsSelected属性可以指定在窗体首次打开时,默认显示哪个标签页

效果图

 

 

代码

<Window x:Class="WpfContentControl.TabCtro"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="TabCtro" Height="328" Width="366">

    <Grid>

        <TabControl Name="tabControl1">

            <TabItem Name="tabItem1">

                <TabItem.Header>

                    <Button>À¨º?1</Button>

                </TabItem.Header>

                <StackPanel>

                    <TextBlock>TABCONTROL?tÌ?¨°Ì£¤使º1®?</TextBlock>

                </StackPanel>

            </TabItem>

            <TabItem Name="tabitem2" IsSelected="True">

                <TabItem.Header>

                    <StackPanel Orientation="Horizontal">

                        <Image Source="1.gif" Width="20"></Image>

                        <TextBlock>À¨º?2</TextBlock>

                    </StackPanel>

                </TabItem.Header>

                <StackPanel>

                    <CheckBox>D¨²</CheckBox>

                    <CheckBox>¨¤¨²</CheckBox>

                </StackPanel>

            </TabItem>

        </TabControl>

    </Grid>

</Window>

 

3派生自ItemsControl的控件

这种类型的控件如LISTBOX,关于这种类型控件的讲解,我会在后面专门抽出节课来进行讲解

 

4. 派生自HeaderedItemsControl的控件

这种类型的控件包括一个标头和一个内容集合,如MenuItem菜单项控件,TOOLBAR工具条控件

TreeViewIitem控件,等,这一节的控件我也会挑出一节专门课程来进行讲解。

这一节主要给大家讲解了一下控件的大致分类。没有细讲各个控件的用法,在下一节会为大家讲解各个控件的仔细用法。

demo下载:http://download.csdn.net/source/2487167

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值