技术开发 频道

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

  处理这些预先定义的布局模板之外,针对一些特殊需要,我们还可以自定义布局目标,实现更加灵活的控制。例如,下面的代码简单地自定义了一个布局模板:

<!—自定义布局模板 -->
<Ribbon.SizeDefinitions>
          
<SizeDefinition Name="CustomTemplate">
            
<GroupSizeDefinition Size="Large">
              
<ControlSizeDefinition ImageSize="Large" IsLabelVisible="true" />
            
</GroupSizeDefinition>
            
<GroupSizeDefinition Size="Medium">
              
<ControlSizeDefinition ImageSize="Small" IsLabelVisible="false" />
            
</GroupSizeDefinition>
            
<GroupSizeDefinition Size="Small">
              
<ControlSizeDefinition ImageSize="Small" IsLabelVisible="false" />
            
</GroupSizeDefinition>
          
</SizeDefinition>
</Ribbon.SizeDefinitions>

<!—使用布局模板 -->
<Group CommandName='GroupButton' SizeDefinition='CustomTemplate'>
       <Button CommandName='NormalButton' />
</Group>

  在这个自定义布局模板中,我们定义了控件在不同显示状态(Large,Medium,Small)下,图标的尺寸和标签文本的显示与否。这样,我们就可以对控件的外观进行非常细致的控制,满足用户体验设计师的苛刻要求。

  设置控件的缩放策略

  在上文的自定义布局模板中,我们定义了控件在不同状态下的显示尺寸。当我们在缩放窗口的时候,Ribbon面板的尺寸会相应的改变,这时,Ribbon控件的尺寸和排布也会发生相应的变化。Ribbon控件的大小以及排布方式,都受到Tab页面控件缩放策略的控制。在Ribbon界面中,每个Tab页面都有独立的控件缩放策略,我们可以通过定义Tab页面的缩放策略来控制按钮的大小以及在面板尺寸发生变化时候,如何对控件进行重新排布。为了展示Tab页面缩放策略对控件尺寸和排布的控制,我们在Ribbon面板中在添加多个按钮,并实现不同的组使用不同的重排次序。

1
相关文章