构建类似Office 2007框架的WPF应用程序(3)

七、设计状态栏(即StatusBar控件的处理)

我们先跳过主窗口的处理,先处理一下状态栏。先细枝末节,再恭迎主角。

首先,添加右下角的三角标志,这是可以鼠标拖动窗口,使之放大缩小的经典标志。当然,没有的话,也可以拖拽窗口,但总觉得少了点什么,没那么直观。改变窗口大小,是窗口的一个属性,不是StatusBar的属性,设置窗口属性ResizeMode为CanResizeWithGrip即可,如下:

Title="MainWindow" Height="350" Width="525" ResizeMode="CanResizeWithGrip"
编译后,窗口右下角出现三角标志,如图:

StatusBar控件可以嵌入任何内容,每个内容被隐藏封装在StatusBarItem对象里,我们可以添加自己需要的控件。直接添加控件,我们会发现,默认状态所有控件都是从左到右,但许多应用场景,我们常常需要的是左右两边靠边显示(某一项锁在状态栏右边),中间或留空或添加其他控件。所以,我们最好借助Grid面板来布局控件。直接添加Grid面板,我们发现还是像其他控件一样,添加在Grid的控件还是从左到右排布,并没有填满到最右边。还是得借助StatusBar的属性ItemsPanel和ItemsPanelTemplate,才能够填满整个状态栏,代码如下:

        <StatusBar Grid.Row="2">
            <StatusBar.ItemsPanel>
                <ItemsPanelTemplate>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto"/>
                            <ColumnDefinition Width="*"/>
                            <ColumnDefinition Width="Auto"/>
                        </Grid.ColumnDefinitions>
                    </Grid>
                </ItemsPanelTemplate>
            </StatusBar.ItemsPanel>
            <StatusBarItem >
                <TextBlock >Left TextBlock</TextBlock>
            </StatusBarItem>
            <StatusBarItem Grid.Column="1">
                <ProgressBar Value="100" MinWidth="100" MaxWidth="1000"  Height="18"/>
            </StatusBarItem>
            <StatusBarItem Grid.Column="2">
                <TextBlock HorizontalAlignment="Left" Width="150">Right Information</TextBlock>
            </StatusBarItem>
        </StatusBar>
编译后,效果如下:


到这里,我们已初步处理Ribbon功能区和StatusBar状态栏,下面介绍主窗口的处理。

-------------------

源码下载地址:http://download.csdn.net/detail/mandylover/9737118


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值