Windows 8+VS 开发教程SemanticZoom缩放视图

 在Windows 8中SemanticZoom缩放视图支持对GridView和ListView控件的视图效果进行缩放,它提供一个详细信息视图(ZoomedInView)以让用户查看详细信息,另外提供一个缩小索引视图(ZoomedOutView)让用户快速定位想要查看信息的大概范围。

  一.想要实现这种效果我们需要使用SemanticZoom控件和CollectionViewSource控件配合使用:

    SemanticZoom控件:


  1. <SemanticZoom.ZoomedOutView> 
  2.    <!--此处填充缩小索引视图的GridView,一般情况下绑定Group.Title--> 
  3. </SemanticZoom.ZoomedOutView> 
  4. <SemanticZoom.ZoomedInView> 
  5.     <!--此处填充平常普通的GridView,显示详细信息--> 
  6. </SemanticZoom.ZoomedInView> 

    CollectionViewSource是一个和前台UI控件进行互动的集合源。

      Source:源数据绑定属性

      IsSourceGrouped:是否允许分组

      View:获取当前与 CollectionViewSource 的此实例关联的视图对象

       View.CollectionGroups:返回该视图关联的所有集合组。

  二.现在通过一个实例来看如何使用SemanticZoom实现缩放视图,本实例接前一篇文章实例。

    1.前台设置CollectionViewSource控件


  1. <Grid.Resources> 
  2.     <CollectionViewSource x:Name="itemcollectSource" IsSourceGrouped="true" ItemsPath="ItemContent" /> 
  3. </Grid.Resources> 

    2.前台绘制ZoomedInView视图和ZoomedOutView视图GridView


  1. <SemanticZoom x:Name="semanticZoom" VerticalAlignment="Center"> 
  2.             <SemanticZoom.ZoomedOutView> 
  3.                 <GridView ScrollViewer.IsHorizontalScrollChainingEnabled="False" > 
  4.                     <GridView.ItemTemplate> 
  5.                         <DataTemplate> 
  6.                             <!--注意此处绑定的是实体集的GroupTitle属性--> 
  7.                             <TextBlock Text="{Binding Group.GroupTitle}" FontSize="24"/> 
  8.                         </DataTemplate> 
  9.                     </GridView.ItemTemplate> 
  10.                     <GridView.ItemsPanel> 
  11.                         <ItemsPanelTemplate> 
  12.                             <WrapGrid ItemWidth="150" ItemHeight="75" MaximumRowsOrColumns="1" VerticalChildrenAlignment="Center" /> 
  13.                         </ItemsPanelTemplate> 
  14.                     </GridView.ItemsPanel> 
  15.                     <GridView.ItemContainerStyle> 
  16.                         <Style TargetType="GridViewItem"> 
  17.                             <Setter Property="Margin" Value="4" /> 
  18.                             <Setter Property="Padding" Value="10" /> 
  19.                             <Setter Property="BorderBrush" Value="Gray" /> 
  20.                             <Setter Property="BorderThickness" Value="1" /> 
  21.                             <Setter Property="HorizontalContentAlignment" Value="Center" /> 
  22.                             <Setter Property="VerticalContentAlignment" Value="Center" /> 
  23.                         </Style> 
  24.                     </GridView.ItemContainerStyle> 
  25.                 </GridView> 
  26.             </SemanticZoom.ZoomedOutView> 
  27.             <SemanticZoom.ZoomedInView> 
  28.                 <!--设置ScrollViewer.IsHorizontalScrollChainingEnabled="False"--> 
  29.                 <GridView Name="gv_Item" ItemsSource="{Binding Source={StaticResource itemcollectSource}}"   
  30.                   SelectedItem="{Binding ItemContent, Mode=TwoWay}" ScrollViewer.IsHorizontalScrollChainingEnabled="False" 
  31.                   Margin="20,140,40,20"  IsSwipeEnabled="True"  > 
  32.                     <GridView.ItemTemplate> 
  33.                         <DataTemplate> 
  34.                             <Grid Width="250" Height="200" Background="#33CCCCCC"> 
  35.                                 <Grid.ColumnDefinitions> 
  36.                                     <ColumnDefinition Width="110"></ColumnDefinition> 
  37.                                     <ColumnDefinition></ColumnDefinition> 
  38.                                 </Grid.ColumnDefinitions> 
  39.                                 <Image Grid.Column="0" Margin="5,0,0,0" Source="{Binding ImageUrl}" Stretch="None"></Image> 
  40.                                 <TextBlock Grid.Column="1" Margin="15,15,0,0" Foreground="Black" Text="{Binding txtTitle}" 
  41.                                     FontWeight="Bold" FontSize="16" TextWrapping="Wrap"/> 
  42.                                 <TextBlock Grid.Column="1" Margin="15,40,0,0" Foreground="Black" Text="{Binding txtContent}" 
  43.                                     FontWeight="Light" FontSize="14" TextWrapping="Wrap"/> 
  44.                             </Grid> 
  45.                         </DataTemplate> 
  46.                     </GridView.ItemTemplate> 
  47.                     <GridView.ItemsPanel> 
  48.                         <ItemsPanelTemplate> 
  49.                             <VariableSizedWrapGrid Orientation="Vertical" MaximumRowsOrColumns="3" /> 
  50.                         </ItemsPanelTemplate> 
  51.                     </GridView.ItemsPanel> 
  52.                     <GridView.GroupStyle> 
  53.                         <GroupStyle> 
  54.                             <GroupStyle.HeaderTemplate> 
  55.                                 <DataTemplate> 
  56.                                     <Grid Margin="1,0,0,6"> 
  57.                                         <Button AutomationProperties.Name="组名称" Content="{Binding GroupTitle}"/> 
  58.                                     </Grid> 
  59.                                 </DataTemplate> 
  60.                             </GroupStyle.HeaderTemplate> 
  61.                             <GroupStyle.Panel> 
  62.                                 <ItemsPanelTemplate> 
  63.                                     <VariableSizedWrapGrid Orientation="Vertical" Margin="0,0,50,0"/> 
  64.                                 </ItemsPanelTemplate> 
  65.                             </GroupStyle.Panel> 
  66.                         </GroupStyle> 
  67.                     </GridView.GroupStyle> 
  68.                 </GridView> 
  69.             </SemanticZoom.ZoomedInView> 
  70.         </SemanticZoom> 

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索实例
, 控件
, 视图
, 前台
, 信息
, 一个
GridView实例开发
zoom缩放、ie8使用zoom缩放问题、iscroll zoom.js 缩放、ie zoom 缩放、datazoom 缩放 echart,以便于您获取更多的相关知识。

时间: 2024-10-01 17:18:54

Windows 8+VS 开发教程SemanticZoom缩放视图的相关文章

Windows 8开发入门(二十二) Windows 8 的SemanticZoom缩放视图

在Windows 8中SemanticZoom缩放视图支持对GridView和ListView控件的视图效果进行缩放,它提供一个详 细信息视图(ZoomedInView)以让用户查看详细信息,另外提供一个缩小索引视图(ZoomedOutView)让用户快速 定位想要查看信息的大概范围. 一.想要实现这种效果我们需要使用SemanticZoom控件和 CollectionViewSource控件配合使用: SemanticZoom控件: <SemanticZoom.ZoomedOutView>

WP8.1开发教程二: MapControl视图控件和Animation动画实例应用

WP8.1开发教程2:MapControl应用 MapControl对应ArcMap中的数据视图,它封装了Map对象,并提供了额外的属性.方法.事件用于: 管理控件的外观.显示属性和地图属性: 添加并管理控件中的数据层: 装载Map文档(.mxd)到控件中 从其它应用程序拖放数据到控件中: Tracking shapes and drawing to the display ArcGIS的每种控件都有属性可以设置,它们可以在可视化环境中进行编辑.将控件拖放到窗体上后,用户可以右键点击,选择"属性

Windows Phone 7开发教程(4)——XNA显示中文字体

我最近勤快地连自己都有些不可思议.昨天有朋友在上一篇文章里留言,批 评Windows Phone 7暂时没有支持中文版的问题.凡事都有个过程,在中文版出 来前,咱们想自己想点办法吧.Silverlight for Windows Phone那边就不管了 ,肯定会有人想出办法来的.如何让Windows Phone 7游戏显示中文?把说"贴 图"的那个人拖出去打死!因为XNA 4.0中支持中文的办法倒是现成的,这与XNA 字体支持的方式有很大关系. 示例代码下载地址: http://fil

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

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

Windows Phone 7开发教程(3)——XNA下使用MessageBox和软键盘

相信未来一段的业余时间,我都要和XNA为伍了.本来想向3D开发的纵深发展 ,但是遇到了一个实际的问题,就是如何在XNA下显示MessageBox和Software Input Panel.干脆先写出来吧,省得大家遇到这问题时抓狂. 按照为数不多的公开文档描述,XNA和Silverlight for Windows Phone应该 是基于同一个.NET Compact Framework的CLR.但是,XNA并没有提供任何用户控 件.MessageBox和软键盘等,也不能直接调用Silverlig

Windows Phone 7开发教程(2)——Windows Phone XNA 4.0 3D游戏开发

程序代码编译环境Visual Stuido 2010, Windows Phone 7 SDK, XNA 4.0 Game Studio, 下载链接: http://files.cnblogs.com/aawolf/XNA_aawolf_3D.rar 今天有点空余时间,在看Windows Phone 7的开发.看到Silverlight for phone和XNA 4.0的开发文章已经有了不少,而且质量很高.我就来说说XNA 4.0 的3D开发这个领域吧,正好跟目前的工作有些关系,而且XNA 4

Windows 8风格应用开发入门 七 页面视图概览

Windows 8风格应用中包含哪些视图 常用的几种视图包括: 开发入门 七 页面视图概览-页面视图"> 1. FullScreenLandscape(水平方向全屏视图) 2. Filled(填充视图) 3. Snap view(贴靠视图) 4. FullScreenPortrait(竖直方向全屏视图) 最小视图状态分辨率支持1024*768,全屏视图状态分辨率为1366*768以上. 注意:实现贴靠视图的最小分辨率为1366*768. Visual Studio 2012和模拟器中如何开

《ArcGIS Engine+C#实例开发教程》第八讲 属性数据表的查询显示

原文:<ArcGIS Engine+C#实例开发教程>第八讲 属性数据表的查询显示 第一讲 桌面GIS应用程序框架的建立 第二讲 菜单的添加及其实现 第三讲 MapControl与PageLayoutControl同步 第四讲 状态栏信息的添加与实现 第五讲 鹰眼的实现 第六讲 右键菜单添加与实现 教程Bug及优化方案1 第七讲 图层符号选择器的实现1 第七讲 图层符号选择器的实现2 第八讲 属性数据表的查询显示 摘要:这一讲中,我们将实现图层属性数据表的查询显示.在ArcMap中,单击图层右

快速构建Windows 8风格应用11-语义缩放

原文:快速构建Windows 8风格应用11-语义缩放 本篇博文主要介绍为什么需要语义缩放.什么是语义缩放.如何构建语义缩放. 为什么需要语义缩放 如果用过Windows 8系统的开发者都知道在Windows 8中页面内容更偏重于横向滚动,而不是纵向滚动. 随着页面内容的增多,用户定位某一个特定元素的难度就会随之增大. 那么如何帮助用户更加方便地定位到相应元素呢?--语义缩放.   什么是语义缩放 首先我们来看一下实现语义缩放的手势:  支持语义缩放的页面中通过该手势就可以实现语义缩放的效果了.