专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > WinRT Metro

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

发布时间:2011-06-23 13:56:20 文章来源:www.iduyao.cn 采编人员:星星草
WP8.1 Pivot 控件的SelectedIndex 属性与星期天BUG

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 ,难怪会崩溃。

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

改成这样写:

if ((int)DateTime.Today.DayOfWeek!=0)
            { 
              MyClass.SelectedIndex = ((int)DateTime.Today.DayOfWeek-1);
            }
            else
            {
                MyClass.SelectedIndex = 6;
            }

问题解决. 

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

 

1楼h82258652
哈哈,因为老外大多都是周日到周六的,不像我们周一到周六的。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: