为Ribbon界面添加按钮控件
按钮控件可以说是我们最常用的控件了。在Ribbon界面中,按钮控件有多种形式,主要有普通按钮(Button),复选框(CheckBox),下拉按钮(DropDownButton)以及切换按钮(ToggleButton)等,可见为Ribbon界面添加按钮控件是我们对Ribbon界面进行设计的基本功。虽然Visual Studio 2010没有提供针对Scenic Ribbon界面编辑的可视化设计工具,但是通过对Ribbon界面XML文件的编辑来实现控件的添加和定义也十分简单。
我们还是在上文例子的基础上,实现按钮控件的添加。我们可以打开Ribbon界面描述文件ribbonmarkup.xml,然后在其中的命令部分添加下面的语句,定义相应的按钮控件:
<Application.Commands>
<!--Tab页面-->
<Command Name="TabHome" Symbol="cmdTabHome" Id="30000" LabelTitle="主页" />
<!—按钮分组控件-->
<Command Name="GroupButton" Symbol="cmdGroupMain" Id="30001" LabelTitle="按钮控件"/>
<Command Name="NormalButton" Symbol="cmdNormalButton" Id="30002" LabelTitle="普通按钮">
<Command.TooltipTitle>普通按钮</Command.TooltipTitle>
<Command.TooltipDescription>这是一个普通按钮。</Command.TooltipDescription>
<Command.LargeImages>
<Image Source="Button_Image.bmp"/>
</Command.LargeImages>
<Command.SmallImages>
<Image Source="Button_Image.bmp"/>
</Command.SmallImages>
</Command>
<Command Name="DropDownButton" Symbol="cmdDropDownButton" Id="30003" LabelTitle="下拉按钮">
<Command.TooltipTitle>下拉按钮</Command.TooltipTitle>
<Command.TooltipDescription>这是一个下拉按钮。</Command.TooltipDescription>
<Command.LargeImages>
<Image Source="Button_ImageL.bmp"/>
</Command.LargeImages>
<Command.SmallImages>
<Image Source="Button_ImageS.bmp"/>
</Command.SmallImages>
</Command>
<Command Name="ToggleButton" Symbol="cmdToggleButton" Id="30004" LabelTitle="切换按钮">
<Command.TooltipTitle>切换按钮</Command.TooltipTitle>
<Command.TooltipDescription>这是一个切换按钮。</Command.TooltipDescription>
<Command.LargeImages>
<Image Source="Button_ImageL.bmp"/>
</Command.LargeImages>
<Command.SmallImages>
<Image Source="Button_ImageS.bmp"/>
</Command.SmallImages>
</Command>
<Command Name="CheckBox" Symbol="cmdCheckBox" Id="30005" LabelTitle="复选框">
<Command.TooltipTitle>复选按钮Command.TooltipTitle>
<Command.TooltipDescription>这是一个复选按钮。</Command.TooltipDescription>
</Command>
</Application.Commands>
<!--Tab页面-->
<Command Name="TabHome" Symbol="cmdTabHome" Id="30000" LabelTitle="主页" />
<!—按钮分组控件-->
<Command Name="GroupButton" Symbol="cmdGroupMain" Id="30001" LabelTitle="按钮控件"/>
<Command Name="NormalButton" Symbol="cmdNormalButton" Id="30002" LabelTitle="普通按钮">
<Command.TooltipTitle>普通按钮</Command.TooltipTitle>
<Command.TooltipDescription>这是一个普通按钮。</Command.TooltipDescription>
<Command.LargeImages>
<Image Source="Button_Image.bmp"/>
</Command.LargeImages>
<Command.SmallImages>
<Image Source="Button_Image.bmp"/>
</Command.SmallImages>
</Command>
<Command Name="DropDownButton" Symbol="cmdDropDownButton" Id="30003" LabelTitle="下拉按钮">
<Command.TooltipTitle>下拉按钮</Command.TooltipTitle>
<Command.TooltipDescription>这是一个下拉按钮。</Command.TooltipDescription>
<Command.LargeImages>
<Image Source="Button_ImageL.bmp"/>
</Command.LargeImages>
<Command.SmallImages>
<Image Source="Button_ImageS.bmp"/>
</Command.SmallImages>
</Command>
<Command Name="ToggleButton" Symbol="cmdToggleButton" Id="30004" LabelTitle="切换按钮">
<Command.TooltipTitle>切换按钮</Command.TooltipTitle>
<Command.TooltipDescription>这是一个切换按钮。</Command.TooltipDescription>
<Command.LargeImages>
<Image Source="Button_ImageL.bmp"/>
</Command.LargeImages>
<Command.SmallImages>
<Image Source="Button_ImageS.bmp"/>
</Command.SmallImages>
</Command>
<Command Name="CheckBox" Symbol="cmdCheckBox" Id="30005" LabelTitle="复选框">
<Command.TooltipTitle>复选按钮Command.TooltipTitle>
<Command.TooltipDescription>这是一个复选按钮。</Command.TooltipDescription>
</Command>
</Application.Commands>
在这里,我们定义了多种按钮控件:普通按钮,下拉按钮,切换按钮和复选框按钮。同时为了对这些按钮控件进行管理,我们还定义了一个组控件GroupButton。对于GroupButton,我们只是简单地给定了它的ID和符号。而对于NormalButton等按钮控件,我们通过XML文件,指定了这些按钮控件的具体属性,比如按钮的按钮上显示的文字,工具栏提示,按钮显示的图片等等。通过XML文件,我们可以对各个控件的属性进行详细的定义,完全根据我们的需要对控件进行自定义。
完成控件的定义后,我们就可以将这些控件布局到Ribbon面板上了。继续在xml文件中的视图(View)部分编辑代码,实现各个控件的排布:
<Application.Views>
<Ribbon>
<Ribbon.Tabs>
<Tab CommandName='TabHome'>
<Group CommandName='GroupButton' SizeDefinition='ThreeButtonsAndOneCheckBox'>
<DropDownButton CommandName='DropDownButton'>
<MenuGroup CommandName ='DownMenu'>
<Button CommandName ='NormalButton'/>
<ToggleButton CommandName='ToggleButton'/>
</MenuGroup>
</DropDownButton>
<Button CommandName='NormalButton'/>
<ToggleButton CommandName='ToggleButton'/>
<CheckBox CommandName ='CheckBox'/>
</Group>
</Tab>
</Ribbon.Tabs>
</Ribbon>
</Application.Views>
<Ribbon>
<Ribbon.Tabs>
<Tab CommandName='TabHome'>
<Group CommandName='GroupButton' SizeDefinition='ThreeButtonsAndOneCheckBox'>
<DropDownButton CommandName='DropDownButton'>
<MenuGroup CommandName ='DownMenu'>
<Button CommandName ='NormalButton'/>
<ToggleButton CommandName='ToggleButton'/>
</MenuGroup>
</DropDownButton>
<Button CommandName='NormalButton'/>
<ToggleButton CommandName='ToggleButton'/>
<CheckBox CommandName ='CheckBox'/>
</Group>
</Tab>
</Ribbon.Tabs>
</Ribbon>
</Application.Views>