技术开发 频道

VS与Win7共舞:用XML文件定义Ribbon界面

  为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>

  在这里,我们定义了多种按钮控件:普通按钮,下拉按钮,切换按钮和复选框按钮。同时为了对这些按钮控件进行管理,我们还定义了一个组控件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>
1
相关文章