用XML文件定义Ribbon界面.docx

上传人:b****5 文档编号:6065989 上传时间:2023-01-03 格式:DOCX 页数:9 大小:129.60KB
下载 相关 举报
用XML文件定义Ribbon界面.docx_第1页
第1页 / 共9页
用XML文件定义Ribbon界面.docx_第2页
第2页 / 共9页
用XML文件定义Ribbon界面.docx_第3页
第3页 / 共9页
用XML文件定义Ribbon界面.docx_第4页
第4页 / 共9页
用XML文件定义Ribbon界面.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

用XML文件定义Ribbon界面.docx

《用XML文件定义Ribbon界面.docx》由会员分享,可在线阅读,更多相关《用XML文件定义Ribbon界面.docx(9页珍藏版)》请在冰豆网上搜索。

用XML文件定义Ribbon界面.docx

用XML文件定义Ribbon界面

为Ribbon界面添加按钮控件

  按钮控件可以说是我们最常用的控件了。

在Ribbon界面中,按钮控件有多种形式,主要有普通按钮(Button),复选框(CheckBox),下拉按钮(DropDownButton)以及切换按钮(ToggleButton)等,可见为Ribbon界面添加按钮控件是我们对Ribbon界面进行设计的基本功。

虽然VisualStudio2010没有提供针对ScenicRibbon界面编辑的可视化设计工具,但是通过对Ribbon界面XML文件的编辑来实现控件的添加和定义也十分简单。

  我们还是在上文例子的基础上,实现按钮控件的添加。

我们可以打开Ribbon界面描述文件ribbonmarkup.xml,然后在其中的命令部分添加下面的语句,定义相应的按钮控件:

    

--Tab页面-->

    

—按钮分组控件-->

    

    

      普通按钮

      这是一个普通按钮。

      

        

      

      

        

      

    

    

      下拉按钮

      这是一个下拉按钮。

      

        

      

      

        

      

    

    

      切换按钮

      这是一个切换按钮。

      

        

      

      

        

      

    

    

      复选按钮Command.TooltipTitle>

      这是一个复选按钮。

  在这里,我们定义了多种按钮控件:

普通按钮,下拉按钮,切换按钮和复选框按钮。

同时为了对这些按钮控件进行管理,我们还定义了一个组控件GroupButton。

对于GroupButton,我们只是简单地给定了它的ID和符号。

而对于NormalButton等按钮控件,我们通过XML文件,指定了这些按钮控件的具体属性,比如按钮的按钮上显示的文字,工具栏提示,按钮显示的图片等等。

通过XML文件,我们可以对各个控件的属性进行详细的定义,完全根据我们的需要对控件进行自定义。

  完成控件的定义后,我们就可以将这些控件布局到Ribbon面板上了。

继续在xml文件中的视图(View)部分编辑代码,实现各个控件的排布:

      

        

          

            

              

                

                  

                  

                

              

              

              

              

            

          

        

      

    

  在这段视图部分的XML代码中,我们可以很清楚地看到各个空间之间的嵌套关系:

TabHome这个Tab页面包含一个GroupButton这个组,而这个组又包含DropDownButton,NormalButton,ToggleButton和CheckBox这几个子按钮控件。

更进一步的,DropDownButton又包含了NormalButton和TonggleButton这两个子按钮控件。

通过这种层层嵌套,我们就实现了各个子控件的布局。

  现在我们编译运行这个解决方案,就可以看到我们刚刚添加的Ribbon界面了:

  

  使用控件布局模板

  在上面的例子中,我们将多个按钮控件都添加到了一个组控件中。

在这个组控件内部,各个按钮控件是按照怎样的规则进行布局的呢?

能不能对默认的布局进行控制?

  为了对一个控件容器内部的各个控件进行布局,ScenicRibbon提供了相应的布局模板。

在一个控件容器,例如上文中我们用到的Group控件,对控件进行排布时,ScenicRibbon会按照我们在XML文件中定义的布局模板来对控件进行排布。

在XML中,我们使用SizeDefinition属性来定义容器所使用的布局模板,例如:

  这行代码就表示使用“'ThreeButtonsAndOneCheckBox'”作为这个组容器的布局模板,表示这个组内部一共有三个按钮和一个复选框。

为了便于我们的使用,ScenicRibbon为我们提供了很多已经预先定义好的布局模板,例如我们常用的有:

  

  

  处理这些预先定义的布局模板之外,针对一些特殊需要,我们还可以自定义布局目标,实现更加灵活的控制。

例如,下面的代码简单地自定义了一个布局模板:

—自定义布局模板-->

          

            

              

            

            

              

            

            

              

            

          

—使用布局模板-->

      

  在这个自定义布局模板中,我们定义了控件在不同显示状态(Large,Medium,Small)下,图标的尺寸和标签文本的显示与否。

这样,我们就可以对控件的外观进行非常细致的控制,满足用户体验设计师的苛刻要求。

  设置控件的缩放策略

  在上文的自定义布局模板中,我们定义了控件在不同状态下的显示尺寸。

当我们在缩放窗口的时候,Ribbon面板的尺寸会相应的改变,这时,Ribbon控件的尺寸和排布也会发生相应的变化。

Ribbon控件的大小以及排布方式,都受到Tab页面控件缩放策略的控制。

在Ribbon界面中,每个Tab页面都有独立的控件缩放策略,我们可以通过定义Tab页面的缩放策略来控制按钮的大小以及在面板尺寸发生变化时候,如何对控件进行重新排布。

为了展示Tab页面缩放策略对控件尺寸和排布的控制,我们在Ribbon面板中在添加多个按钮,并实现不同的组使用不同的重排次序。

  首先我们在XML文件的命令部分(Commands)添加相应的控件描述:

    

--Tab页面-->

    

    

--主要分组-->

    

    

      按钮控件

      点击这个按钮控件,获得当前系统时间。

      

        

      

      

        

      

    

    

--数据库组-->

    

      Database

    

    

--数据库组按钮控件-->

    

    LabelTitle="AddTable">

      AddTable

      AddTable

      

        

      

      

        

      

    

    

      DeleteTable

      DeleteTable

      

        

      

      

        

      

    

    

      PrintRelationships

      PrintRelationships

      

        

      

      

        

      

    

    

--剪切板组-->

    

      Clipboard

      

--定义剪切板组的图标,用于在剪切板处于Popup模式时显示-->

      

        

      

    

    

--剪切板组按钮控件-->

    

      Paste

      Paste

      

        

      

    

    

      Cut

      Cut

      

        

      

    

    

      Copy

      Copy

      

        

      

    

  在上面的代码中,我们定义了控件的各种属性,现在要将这些控件布置到Ribbon面板上,则需要Tab页面的缩放策略来控制了。

所以,我们在XML文件的视图部分对控件进行布置并设置缩放策略:

    

      

        

          

--定义Tab页面的缩放策略-->

          

            

              

--定义在默认情况下的控件尺寸。

              在通常情况下,应用程序启动后都处于尺寸最大的状态,

              所以在这里,都默认使用大尺寸-->

              

                

                

                

              

              

--这里定义了Ribbon面板缩放时,Ribbon控件缩放的次序

              比如,当窗口缩小,Ribbon面板跟着缩小时,GroupDatabase组

              的按钮将首先缩小为Medium类型,其次GroupClipboard组缩小

              为Medium类型,以此类推-->

              

              

              

              

            

          

          

--定义控件的嵌套关系

          我们使用组的SizeDefinition属性定义

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1