最近比较懒惰一直都没写东西,再不写笔里的墨水就快干了。看过前面关于librarystack 和librarybar 的介绍后,大家可能已经对library 控件系列有了进一步了解,本篇将继续介绍librarycontainer,它其实就是librarystack、libraybar 的集合体。 首先,我们仍然
最近比较懒惰一直都没写东西,再不写笔里的墨水就快干了。看过前面关于librarystack 和librarybar 的介绍后,大家可能已经对library 控件系列有了进一步了解,本篇将继续介绍librarycontainer,它其实就是librarystack、libraybar 的集合体。 首先,我们仍然需要创建一个datatemplate 用来控制librarystack、libraybar 的显示样式。然后新建一个librarycontainer,在其中增加stackview 和barview 两种浏览模式。
s:surfacewindow.resources> datatemplate x:key=librarybaritemtemplate> grid > image source={binding bitmap}/> label fontsize=14 content={binding label}/> grid> datatemplate>s:surfacewindow.resources>grid> s:librarycontainer x:name=mlibrarycontainer> s:librarycontainer.stackview> s:stackview itemtemplate={staticresource librarybaritemtemplate}/> s:librarycontainer.stackview> s:librarycontainer.barview> s:barview itemtemplate={staticresource librarybaritemtemplate}/> s:librarycontainer.barview> s:librarycontainer>grid>
librarybar 一样我们继续使用分组的浏览模式,按groupname 进行分组操作,photoalbum 类请参考这里。
observablecollectionphotoalbum> items = new observablecollectionphotoalbum>();string imagespath = @c:\users\public\pictures\sample pictures\;items.add(new photoalbum(imagespath + hydrangeas.jpg, hydrangeas, nature));items.add(new photoalbum(imagespath + lighthouse.jpg, lighthouse, nature));items.add(new photoalbum(imagespath + tulips.jpg, tulips, nature));items.add(new photoalbum(imagespath + jellyfish.jpg, jellyfish, animal));items.add(new photoalbum(imagespath + koala.jpg, koala, animal));items.add(new photoalbum(imagespath + penguins.jpg, penguins, animal));mlibrarycontainer.itemssource = items;icollectionview defaultview = collectionviewsource.getdefaultview(items);defaultview.groupdescriptions.add(new propertygroupdescription(groupname));
运行效果:
按分组选择:
点击下方按钮切换为barview 模式:
作者:李敬然(gnie)
出处:{gnietech} (http://www.cnblogs.com/gnielee/)