WP8.1 Pivot 控件的SelectedIndex 属性与星期天BUG_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > WP8.1 Pivot 控件的SelectedIndex 属性与星期天BUG

WP8.1 Pivot 控件的SelectedIndex 属性与星期天BUG

 2015/4/12 22:35:58  yiqiok  程序员俱乐部  我要评论(0)
  • 摘要:Pivot控件有一个SelectedIndex可以指定当前显示的PivotItem;我在一个应用中将周一到周日,一共对应七个PivotItem,并想实现一打开应用就显示当前日期对应的星期页面于是这样写:SelectedIndex=(int)DateTime.Today.DayOfWeek;结果显示的并不是当天的页面,而是第二天的页面。于是我就将上面的代码写成SelectedIndex=((int)DateTime.Today.DayOfWeek-1);这样过了几天,调试起来都没得问题。直到今天
  • 标签:控件

Pivot 控件有一个SelectedIndex 可以指定当前显示的Pivot Item;

我在一个应用中将周一周日,一共对应七个Pivot Item,并想实现一打开应用就显示当前日期对应的星期页面 于是这样写:   SelectedIndex =(int)DateTime.Today.DayOfWeek;

结果显示的并不是当天的页面,而是第二天的页面。

于是我就将上面的代码写成 SelectedIndex =((int)DateTime.Today.DayOfWeek-1);

这样过了几天,调试起来都没得问题。

直到今天,这个应用进去就黑屏;我起初还以为这是今天添加的代码有问题,于是将今天添加的代码都注释掉,结果还是黑屏。

一直折腾了快一个小时,断点,调试,还是没解决。

当我看到 SelectedIndex =((int)DateTime.Today.DayOfWeek-1);这行代码,突然意识到星期是从周日开始数的;

马上查了一下,原来 (int)DateTime.Today.DayOfWeek 返回的整数是{0,1,2,3,4,5,6,};依次对应{周日,周一,...,周五,周六};

Pivot Item 也是从0开始计数的,所以应用中周日对应的SelectedIndex 应该为6;而现在得到的结果是-1 ,难怪会崩溃。

而今天恰好是周日!!!所以我因此浪费了将近一个小时。。。。。。

改成这样写:

class="brush:csharp;gutter:true;">if ((int)DateTime.Today.DayOfWeek!=0)
            { 
              MyClass.SelectedIndex = ((int)DateTime.Today.DayOfWeek-1);
            }
            else
            {
                MyClass.SelectedIndex = 6;
            }

问题解决. 

总结:在写代码时一定的提前多思考,注意对应的计数起点;这样才能减少Bug(尤其是这种星期天Bug!),提高效率。

 

发表评论
用户名: 匿名