七、设计状态栏(即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