原文:C# Windows Phone 8 WP8 高级开发,制作不循环 Pivot ,图片(Gallery)导览不求人! 内附图文教学!!

一般我们在开发Winodws Phone APP 的时候往往需要使用照片浏览的功能,但是在Windows Phone 8 SDK 中的控制向并没有提供类似Gallery的元件(好比 Android 的 ViewPager),这对开发者来说是非常不方便的,因为如果要自己制作一个控制项是非常的颢时间,而且说不定还有修不完的Bug,所以我们可以透过修改WP8 SDK 的Pivot范本修改来达到类似的效果唷!

?

本文将引导您制作不循环 Pivot ,图片(Gallery)导览不求人!!

?

原理:

在头尾新增一个空白的页面,当一致空白页面时,将Pivot转跳至前一个。

?

?

步骤一:

开启Pivot的新专案

?

步骤二:

修改MainPage.xaml

1.将phone:Pivot的Title 删除

2.将phone:PivotItem的Header删除

?

步骤二:

将phone:PivotItem底下的phone:LongListSelector也都删除

并补上自订的内容,这边以图片为例,弄起来会像下面这样:

?

<phone:Pivot >
<!--内容1-->
<phone:PivotItem Margin="0" >
<Grid>
<Image Source="/Assets/1.jpg" />
</Grid>
</phone:PivotItem>
<!--内容2-->
<phone:PivotItem Margin="0" >
<Grid>
<Image Source="/Assets/2.jpg" />
</Grid>
</phone:PivotItem>
<!--内容3-->
<phone:PivotItem Margin="0" >
<Grid>
<Image Source="/Assets/3.jpg" />
</Grid>
</phone:PivotItem> </phone:Pivot>

?

步骤三:

在头跟尾在各插入一个空白的PivotItem

结果就会像这样子:

?

步骤四:

我们需要帮Pivot命名,并且设定SelectionChanged的事件。

命名成MyPivot

?

<phone:Pivot x:Name="MyPivot" SelectionChanged="Pivot_SelectionChanged" >

?

步骤五:

打开MainPage.xaml.cs的Pivot_SelectionChanged方法底下键入以下程式码。

   1:  private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
   2:  {
   3:      if (MyPivot.SelectedIndex == 0)
   4:      //如果目前页数为0,则跳到第一页
   5:      {
   6:          Dispatcher.BeginInvoke(() =>
   7:          {
   8:              MyPivot.SelectedIndex = 1;
   9:          });
  10:      }
  11:      if (MyPivot.SelectedIndex == (MyPivot.Items.Count - 1))
  12:      //如果目前页数=最後一页 则跳到倒数第二页
  13:      {
  14:          Dispatcher.BeginInvoke(() =>
  15:          {
  16:              MyPivot.SelectedIndex = (MyPivot.Items.Count - 2);
  17:          });
  18:  ?
  19:      }
  20:  ?
  21:  }

?

步骤六:

执行! 恩...完美运行!!? 突然觉得世界很美好

?

如此一来便可以制作不循环的Pivot罗!

?

文章中的叙述如有观念不正确错误的部分,欢迎告知指正 谢谢

转载请注明出处,并且附上本篇文章网址 !? 感谢。'

SUKI

HOLIESTAR

DotBlogs Tags:

C#

Gallery

Pivot

Visual Studio

Windows Phone 8

Xaml

关连文章

Visual Studio 双栏查看程式码 快速掌握架构,加速开发必看 ! ! (内附影片教学)

Visual Studio 2013 新功能,程式码再长也不会迷路,全新卷轴地图模式 ! 加速开发必看 !! (内附影片展示)

C# Windows Phone 8 WP8 , 文字超连结到网页 免打程式码,Xaml就搞定 ! !

C# Windows Form 解决 Icon在开始工具列模糊的问题,字体大小150% 高解析度完美运行。

C# Windows Phone 8 WP8 高级开发,制作不循环 Pivot ,图片(Gallery)导览不求人! 内附图文教学!!的更多相关文章

  1. iOS开发系列--无限循环的图片浏览器

    --UIKit之UIScrollView 概述 UIKit框架中有大量的控件供开发者使用,在iOS开发中不仅可以直接使用这些控件还可以在这些控件的基础上进行扩展打造自己的控件.在这个系列中如果每个控件 ...

  2. WindowsPhone开发—— 使用手绘图片做景区导览地图

    前些日子在做景区App遇到需求,使用手绘图片做一个简易的地图,支持放大缩小平移以及显示景点Mark,安卓上可以使用一个叫做“mAppWidget”的开源库来完成,WP上有人建议用ArcGIS,但是考虑 ...

  3. WP8.1开发中关于媒体(图片)文件的生成操作,属性如何设置(内容/嵌入资源等);

    (转载)WindowsPhone问题笔记-- 正确选择build action 解决媒体资源无法读取问题 链接:http://www.cnblogs.com/qinxg/archive/2012/07 ...

  4. C# Windows Phone 8 WP8 , 文字超连结到网页 免打程式码,Xaml就搞定 ! !

    原文:C# Windows Phone 8 WP8 , 文字超连结到网页 免打程式码,Xaml就搞定 ! ! 一般我们在开发Windows Phone 8 APP ,有时会需要超连结连到其他的网页,但 ...

  5. C# Windows Phone 8 WP8 开发,将WebClient的DownloadStringCompleted事件改成非同步的awiat方法。

    原文:C# Windows Phone 8 WP8 开发,将WebClient的DownloadStringCompleted事件改成非同步的awiat方法. 一般我们在撰写Windows Phone ...

  6. C# Windows Phone 8 WP8 开发,取得手机萤幕大小两种方法。

    原文:C# Windows Phone 8 WP8 开发,取得手机萤幕大小两种方法. 一般我们在开发Windows Phone App时,需要取得萤幕的大小来自定义最佳化控制项的大小,但是开如何取得萤 ...

  7. [笔记] C# Windows Phone 8 WP8 开发,判断目前网路是否可用。

    原文:[笔记] C# Windows Phone 8 WP8 开发,判断目前网路是否可用. 常常我们在开发Windows Phone 8 App时会使用网路来读取网页的资料或其他开放平台的Json.X ...

  8. C# Windows Phone 8 WP8,切换各国语系免重开机 加速开发 送审有效率!!

    原文:C# Windows Phone 8 WP8,切换各国语系免重开机 加速开发 送审有效率!! 一般我们在开发Windows Phone 8 时,会考虑到各国语言的问题,但是你有想过吗?用实体手机 ...

  9. WP8.1 Windows Phone 8.1开发:何如定义Pivot头部样式、定义Pivot头部颜色

    Windows Phone 8.1 ,如何自定义Pivot头部样式?用Pivot控件完成这样的效果. 网上找了好久,只找到了windows phone 8的解决方案. 终于一个大神给支了招,我觉得我有 ...

随机推荐

  1. 与众不同 windows phone (20) - Device(设备)之位置服务(GPS 定位), FM 收音机, 麦克风, 震动器

    原文:与众不同 windows phone (20) - Device(设备)之位置服务(GPS 定位), FM 收音机, 麦克风, 震动器 [索引页][源码下载] 与众不同 windows phon ...

  2. (并查集)POJ 1308 & HDU 1325

    一开始以为两道题是一样的,POJ的过了直接用相同代码把HDU的交了,结果就悲剧了.最后发现HDU的没有考虑入度不能大于一. 题意:用树的定义来 判断吧,无环,n个结点最多有n-1条边,不然就会有环.只 ...

  3. Android面向HTTP协议发送get请求

    /** * 採用get请求的方式 * * @param username * @param password * @return null表示求得的路径有问题,text返回请求得到的数据 */ pub ...

  4. uva 1151 - Buy or Build poj 2784 Buy or Build(最小生成树)

    最小生成树算法简单 只是增加了一些新的东西,对于需要最小生成树算法 和中 并检查使用的一系列 还有一些更深入的了解. 方法的一些复杂问题 #include<cstdio> #include ...

  5. SLIC superpixel实现分析

    http://infoscience.epfl.ch/record/149300这是SLIC算法的官网,网站有和SLIC相关的资源. SLIC主要运用K-means聚类算法进行超像素的处理,聚类算法中 ...

  6. 启动和关闭JBoss As 7.1.1脚本

    启动和关闭JBoss As 7.1.1,脚本例如以下djboss.sh: #!/bin/sh #JBOSS_HOME JBOSS_HOME=/opt/jboss case "$1" ...

  7. SimpleDateFormat 的线程安全问题与解决方式

    SimpleDateFormat 的线程安全问题 SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的详细类. 它同意格式化 (date -> text).语法分析 (te ...

  8. zoj3329(概率dp)

    题目连接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3754 题意:有三个骰子,分别有k1,k2,k3个面. 每次掷骰子,如 ...

  9. 静态网页VS动态网页

    干<沙朗新闻发布系统>什么时候.我们已经建立的网页.html的,并且.aspx,第一次接触.我认为这些东西是一样的,因为它,在观看ASP.NET视频的时候.听见里面讲课的老师有提到了这两样 ...

  10. 最近纠结致死的一个java报错java.net.SocketException: Connection reset 终于得到解决

    自从SEOTcs系统11月份24日更新了一下SEO得分算法以来,一直困扰我的一个问题出现了,java的数据job任务,在执行过程中会经常报以下的错误: “2011-12-03 18:00:32 Def ...