Silverlight 版 C1OutlookBar 初体验

ComponentOne 2011 v3版本中新增了Silverlight版本和WPF版本的c1OutlookBar控件。它对应的是WinForms版本的C1NavBar。因为“OutlookBar”更贴切也更准确,所以我们在XAML平台下使用了这个名字。有Outlook2007和2010样式。

OutlookBar类似一个TabControl,用户可以选择Content panel中的任何一个Item。你可以按照优先级为它们建立分类。OutlookBar可以通过拖拽操作,自由的收起或者展开各个项目。这样用户就可以方便的定制那些项目显示出来,哪些最小化到底部的菜单里。如图所示:

整个控件可以最小化到最左边或者最右边。当你不需要导航栏的时候,可以轻松的隐藏它,而将有限的屏幕空间用于显示其他UI。

C1OutlookBar支持14种不同的外观样式。其实基本上所有的ComponentOne Studio的控件都可以通过设置几个Brush属性来适应各种样式风格。这都要感谢ClearStyle技术。

 

控件结构

以一个最基本的例子来说,我们可以通过几行简单的XAML代码创建一个C1OutlookBar。每一个Item包含4个主要属性:Header,Content,LargeIcon以及SmallIcon。如下图所示:

此外,还需要指定哪些内容在控件收起的时候可以显示,这可以通过定义icon templates实现。下面的XAML代码是上图C1OutlookBar的全部代码:

<c1:C1OutlookBar Name="c1OutlookBar1" ExpandedWidth="170" IsExpanded="True"> <!-- content shown when the bar is collapsed --> <c1:C1OutlookBar.CollapsedContent> <c1:C1LayoutTransformer> <c1:C1LayoutTransformer.LayoutTransform> <RotateTransform Angle="270" /> </c1:C1LayoutTransformer.LayoutTransform> <TextBlock FontSize="13" TextAlignment="Center" VerticalAlignment="Center"                         Text="Navigation Pane" /> </c1:C1LayoutTransformer> </c1:C1OutlookBar.CollapsedContent> <!-- define icon templates --> <c1:C1OutlookBar.LargeIconTemplate> <DataTemplate> <Image Source="{Binding}" Width="24" Height="24" /> </DataTemplate> </c1:C1OutlookBar.LargeIconTemplate> <c1:C1OutlookBar.SmallIconTemplate> <DataTemplate> <Grid Height="24"> <Image Source="{Binding}" Width="16" Height="16" /> </Grid> </DataTemplate> </c1:C1OutlookBar.SmallIconTemplate> <!-- items --> <c1:C1OutlookItem Header="Home" SmallIcon="Images/16/Home.png" LargeIcon="Images/24/Home.png"> <TextBlock Text="My Home" /> </c1:C1OutlookItem> <c1:C1OutlookItem Header="Files" SmallIcon="Images/16/Cab1.png" LargeIcon="Images/24/Cab1.png"> <TextBlock Text="My Files" /> </c1:C1OutlookItem> <c1:C1OutlookItem Header="Sales" SmallIcon="Images/16/ChartPie.png" LargeIcon="Images/24/ChartPie.png"> <TextBlock Text="My Sales" /> </c1:C1OutlookItem> <c1:C1OutlookItem Header="History" SmallIcon="Images/16/History.png" LargeIcon="Images/24/History.png"> <TextBlock Text="My History" /> </c1:C1OutlookItem> <c1:C1OutlookItem Header="Settings" SmallIcon="Images/16/User.png" LargeIcon="Images/24/User.png"> <TextBlock Text="My Settings" /> </c1:C1OutlookItem> </c1:C1OutlookBar>

 

页面排布

当C1OutlookBar收起的时候,中间的content区域会自动展开,充满空余的界面。尤其是当把C1OutlookBar放在Grid中时,ColumnDefinition的宽度设置为Auto时,该功能支持的很好。同时初始化ExpandedWidth也很重要,当然了,这个属性可以在runtime修改。代码如下:

<Grid x:Name="LayoutRoot"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition /> </Grid.ColumnDefinitions> <c1:C1OutlookBar ExpandedWidth="200" IsExpanded="True" /> </Grid>

 

 

工作在MVVM模式下

C1OutlookBar是一个ItemsControl。我们可以将ItemsSource设置给一个由ViewModel定义的列表。这种用例下,我们还可以设置ItemTemplate,ContentTemplate。LargeIconTemplate以及SmallIconTemplate。

 

关于更多的功能可以下载: Studio for SilverlightStudio for WPF

时间: 2024-10-23 03:58:41

Silverlight 版 C1OutlookBar 初体验的相关文章

人生日历Android版功能初体验

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   千呼万唤始出来,人生日历 终于发布手机Android版本了.下面跟随小编一起体验一下它的各个功能吧.     在手机屏幕上打开人生日历,进入程序之后, 就会出现 如下界面.进入界面简单美观,淡蓝色底色调,延续了人生日历电脑端小清 新的风格      接下来就进入到了日历主界面,在手机没有联网的情况下,日历不能更新实时天气,联网情况下,天气更新很及时.天气预报会显

魅族Android 4.4版Flyme初体验

继基于Andorid 4.4的MIUI V5内测后,魅族也推出其基于Android 4.4的Flyme.魅族还表示其将从5月开始进行固件周更新,以增强其系统的优势.今天就先来看看这个基于4.4的Flyme吧.升级前为Flyme 3.5.1,升级后为3.6.1A,并有体验版的字样.从魅族科技的相应公示来看,虽然3.6.1A基于Android 4.4开发,但大部分更新依然为功能修复,在布局设计上改变不大,所以本次也就是将一些 主要功能展示给大家看.首先是优化解锁体验,亮起屏幕后,在任意位置上滑即可解

《张成功项目管理记(第2版)》一第二章 项目管理之初体验

第二章 项目管理之初体验 张成功项目管理记(第2版) 首次与IT项目管理知识体系亲密接触 下午一上班,张成功就迫不及待地敲开了资深项目经理李全才办公室的门.还没等张成功开口,李全才就笑着说:"我听公司领导说,你被委任为国内某省全省大集中电子政务行政办公系统建设项目的项目经理,恭喜你啊.我知道,你今天来找我,一定是想咨询如何管理这个项目,对吧?" 张成功点了点头,李全才示意张成功坐在他办公桌前的座椅上. 令张成功万万没有想到的是,只见李全才从抽屉里拿出一本装订略显粗糙的书(张成功定睛一看

Flume日志采集系统——初体验(Logstash对比版)

这两天看了一下Flume的开发文档,并且体验了下Flume的使用. 本文就从如下的几个方面讲述下我的使用心得: 初体验--与Logstash的对比 安装部署 启动教程 参数与实例分析 Flume初体验 Flume的配置是真繁琐,source,channel,sink的关系在配置文件里面交织在一起,没有Logstash那么简单明了. Flume与Logstash相比,我个人的体会如下: Logstash比较偏重于字段的预处理:而Flume偏重数据的传输: Logstash有几十个插件,配置灵活:F

Windows Phone 7开发教程(1)——Windows Phone开发工具初体验

这是为<程序员>4月期写的文章,是在<双重惊喜-- Windows Phone Developer Tools初体验>的基础上增加了一些内容, 包括WebBrowser空间.MediaPlayer空间,还有一个非常简单的XNA程序.希望对 Windows Phone开发有兴趣的朋友有一些帮助. Windows Phone开发工具在MIX 2010上火热登场了.Windows Mobile开发者们 压抑许久的热情终于爆发出来,对于Windows Phone的华丽转身,开发者们褒贬 不

XenApp / XenDesktop 7.6 初体验一 安装, 配置站点和序列号服务

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://beanxyz.blog.51cto.com/5570417/1579558 最新的Xen Desktop/Xenapp 已经到7.6的版本了.豆子自己搭建了个实验环境练练手. 虚拟平台我使用的是ESXi 5.5,OS都是windows 2012R2,之前我已经设置了Vcenter,DC和SQL 服务器.可以说准备工作基本上都好了.登录 Citrix.com,下载试用版的ISO镜

zephir-(2)安装和初体验

zephir-安装和初体验 前言 先在这里感谢各位zephir开源技术提供者 zephir主要是解决了PHP开发人员尝试编写和编译PHP拓展所能执行的代码的语言.这是一个支持动态/静态类型的语言,熟悉PHP开发人员可以很好的进行开发.zephir这个名字的主要来源是(Zend Engine/PHP/Intermediate),今天首先介绍zephir的安装,接着会对zephir进行一些语法上面的介绍,希望大家喜欢! 注:笔者水平有限,说的不正确的地方希望大家多多指正,一同交流技术 附上: 喵了个

Fireworks MX 之初体验1-2

在编者的苦口婆心,盛情邀请下,风云设计 的两位高手 风筝 和 心动为谁 终于答应,为广大朋友奉献对 Fireworks MX 的亲密接触后带来的初体验,为喜爱 Fireworks 的 fans 们作出贡献,特此鸣谢! Optimize of FW4 Optimize of FWMX 通过比较,我们发现FWMX中Optimize面板比起FW4中的内容要丰富多了,包括弹出菜单选项,其实通过观察,我们可以清楚的看到,现在的Optimize面板其实是将FW4中的Optimize面板和Color面板整合到

Whidbey 初体验之局部类型 ( partial 类型)

Whidbey 初体验 之 局部类型 ( partial 类型) Visual Studio 2005 [Whidbey] 抢先体验版 [Express Beta 1 ] 出来有一段时间了,并且在微软的官方网站上有免费的下载(下载地址:http://lab.msdn.microsoft.com/vs2005/).就本人而言是非常喜欢c#这一新生的语言的.也许并不能说它是新生的,它是对以往各种语言的提炼,或许它是站在巨人的肩膀上的,所以才显得如此的优秀.伴随体验版而来的c# 2.0 给我们带来了新