原文: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. Eclipse 修改maven 仓储Repository位置

    简述: 使用两个Nexus, 需要配置两份不同的Maven仓库 步骤: 1. 下载新的Maven运行包 2. 进入conf/ 修改setting.xml项 <localRepository> ...

  2. Allegro CL Express Edition Downloads

    Allegro CL Express Edition Downloads Allegro CL Express Edition Downloads

  3. 自学PHP 环境搭建

    自学PHP之环境搭建 一..首先 安装 phpStudy2013.exe 程序集成包  安装完可能端口被占用 需要手动设置 然后打开http://localhost:8080/phpMyAdmin/ ...

  4. linux 下opensplice的简易安装

    http://www.prismtech.com/opensplice/opensplice-dds-community/software-downloads 下载对应我选择的是: OpenSplic ...

  5. 14.4.3.1 The InnoDB Buffer Pool

    14.4.3.1 The InnoDB Buffer Pool 14.4.3.2 Configuring Multiple Buffer Pool Instances 14.4.3.3 Making ...

  6. CentOS 6.5安装Erlang/OTP 17.0

    CentOS 6.5安装Erlang/OTP 17.0 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs Erlang眼下已经是Fedora和Debian/ ...

  7. CreateThread、_beginthreadex和AfxBeginThread 的区别

    CreateThread._beginthreadex和AfxBeginThread 创建线程好几个函数可以使用,可是它们有什么区别,适用于什么情况呢?参考了一些资料,写得都挺好的,这里做一些摘抄和整 ...

  8. 虚拟机VM10装Mac OS X 10.9.3

    近期WWDC放出终极大招--新的编程语言Swift(雨燕),导致一大波程序猿的围观和跃跃欲试.当然了,工欲善其事,必先利其器,所以对于那些没有Mac又想要尝鲜的小伙伴肯定非常为难.可是,请放心,本文教 ...

  9. 开玩笑Web它servlet(五岁以下儿童)---- 如何解决servlet线程安全问题

    servlet默认值是安全线的存在,但说白,servlet安全线实际上是一个多线程线程安全问题.因为servlet它正好是一个多线程的安全问题出现. 每次通过浏览器http同意提交请求,将一个实例se ...

  10. HDU 4869 Turn the pokers(推理)

    HDU 4869 Turn the pokers 题目链接 题意:给定n个翻转扑克方式,每次方式相应能够选择当中xi张进行翻转.一共同拥有m张牌.问最后翻转之后的情况数 思路:对于每一些翻转,假设能确 ...