原文: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. c#Enum的用法

    public enum ResType { Role = 0, Dept = 1, Group = 2, Site = 3, Org = 4, Sub=8 } 这里定义了一个enum    ResTy ...

  2. MySQL查看连接数

    MySQL查看连接数 1.查看部分连接数(数目较多时) show processlist; 2.查看所有连接数(数目较多时) show full processlist;

  3. 44个JAVA代码质量管理工具(转)

    1. CodePro AnalytixIt’s a great tool (Eclipse plugin) for improving software quality. It has the nex ...

  4. android之JSON 进行网络数据交换

    什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同一时候也易于机器解析和生成,很适合于server与client的交互. J ...

  5. MFC之窗体改动工具栏编程状态栏编程程序启动画面

    1窗体外观的改动 (1)改动在CMainFrame::preCreateWindow(CREATESTRUCT& cs) 改动标题:cs.style&=FWS_ADDTOTITLE; ...

  6. Java Swing界面编程(31)---菜单条:JMenu

    package com.beyole.test; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMe ...

  7. shu_1241 邮局位置问题

    http://202.121.199.212/JudgeOnline/problem.php?cid=1078&pid=5 分析: 由于题目中的距离是折线距离,所以能够分别考虑两个方向.又x方 ...

  8. 2014 Multi-University Training Contest 1 - J Rating

    题目链接: pid=4870">http://acm.hdu.edu.cn/showproblem.php?pid=4870 题目大意: 题意:一个人注冊两个账号,初始rating都是 ...

  9. (转)在 Visual Studio 2010 中创建 ASP.Net Web Service

    很多人在论坛里说,在Visual Studio 2010中不能创建“ASP.Net Web Service”这种project了,下面跟帖者云云,有的说这是因为微软已经将Web Service整合进W ...

  10. 所有javax包

    所有jar包 > javax javax 下载 javax jar 包 本站下载镜像: javax-jmi-model.jar.zip javax-jmi-reflect.jar.zip jav ...