当前位置:Gxlcms > mysql > WPF与Surface2.0SDK亲密接触–LibraryStack篇

WPF与Surface2.0SDK亲密接触–LibraryStack篇

时间:2021-07-01 10:21:17 帮助过:26人阅读

LibraryStack 本身属于ItemsControl,可以将其他组件以一种集合的方式显示出来,用户可以在LibraryStack 中逐一浏览如图片类的组件,而且它默认支持拖拽操作。 在下面的例子中我们将通过LibraryStack 展示一组图片。首先,为LibraryStack 编写一个DataTemplat

LibraryStack 本身属于ItemsControl,可以将其他组件以一种集合的方式显示出来,用户可以在LibraryStack 中逐一浏览如图片类的组件,而且它默认支持拖拽操作。

在下面的例子中我们将通过LibraryStack 展示一组图片。首先,为LibraryStack 编写一个DataTemplate 用来绑定图片样式。接下来在Grid 中添加LibraryStack 控件,并设置好数据模板。

  1. <span><</span><span>s</span><span>:</span><span>SurfaceWindow </span><span>x</span><span>:</span><span>Class</span><span>="Demo.SurfaceWindow1"
  2. </span><span>xmlns</span><span>="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. </span><span>xmlns</span><span>:</span><span>x</span><span>="http://schemas.microsoft.com/winfx/2006/xaml"
  4. </span><span>xmlns</span><span>:</span><span>s</span><span>="http://schemas.microsoft.com/surface/2008"
  5. </span><span>Title</span><span>="LibraryStack"
  6. >
  7. <</span><span>s</span><span>:</span><span>SurfaceWindow.Resources</span><span>>
  8. <</span><span>DataTemplate </span><span>x</span><span>:</span><span>Key</span><span>="ItemTemplate">
  9. <</span><span>Image </span><span>Source</span><span>="{</span><span>Binding</span><span>}"/>
  10. <!--</span--><span>DataTemplate</span><span>>
  11. <!--</span--><span>s</span><span>:</span><span>SurfaceWindow.Resources</span><span>>
  12. <</span><span>Grid</span><span>>
  13. <</span><span>s</span><span>:</span><span>LibraryStack </span><span>x:Name</span><span>="mLibraryStack"
  14. </span><span>ItemTemplate</span><span>="{</span><span>StaticResource </span><span>ItemTemplate</span><span>}"/>
  15. <!--</span--><span>Grid</span><span>>
  16. <!--</span--><span>s</span><span>:</span><span>SurfaceWindow</span><span>>
  17. </span></span></span></span></span>

最后,为LiraryStack 添加数据源。注意,不能将图片string[] 数组直接赋给LiraryStack,需要借助ObservableCollection。

  1. <span>string </span>imagesPath = <span>@"C:\Users\Public\Pictures\Sample Pictures\"</span>;
  2. <span>try
  3. </span>{
  4. <span>string</span>[] files = System.IO.<span>Directory</span>.GetFiles(imagesPath, <span>"*.jpg"</span>);
  5. <span>ObservableCollection</span><<span>string</span>> items = <span>new </span><span>ObservableCollection</span><<span>string</span>>(files);
  6. mLibraryStack.ItemsSource = items;
  7. }
  8. <span>catch </span>(System.IO.<span>DirectoryNotFoundException</span>)
  9. {
  10. <span>// Error info.
  11. </span>}

运行界面:

作者:李敬然(Gnie)
出处:{GnieTech} (http://www.cnblogs.com/gnielee/)

人气教程排行