ListView通过SelectionChanged事件处理item的点击 有个bug。。。求解

Leeway213 UID.76829
2015-03-28 发表

用SelectionChanged处理item的点击 跳转到下一个页面 然后返回后 再次点击同一个Item,是不会触发selectionchanged事件的
哪位前辈指点下 这个应该如何处理。。。

敬告:
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
全部回复:
揚楓 UID.374928
2015-03-28 回复

保存selectedIndex(好像是这个)然后selectedIndex设为-1,跳转 在这个页面的OnNavigationedTo方法里还原selectedIndex
ps:很久没看了,这是自己意淫的,不知道有没有有后遗症。
另外这不是bug。。。

揚楓 UID.374928
2015-03-28 回复

忍不住补充一句,如果不是一定要学这个的话,建议转ios{:3_129:}

Leeway213 UID.76829
2015-03-29 回复

Quote***链接停止解析***
忍不住补充一句,如果不是一定要学这个的话,建议转ios


非常感谢!
做IOS不是要有台mac。。。

limi****nsuo UID.542512
2015-03-29 回复

楼上说法是一种处理方式,但是这样挑拨wp的开发者也是醉了。虽然wp现在不如ios,安卓有前途,但说不定楼主是自己业余爱好开发呢。这个世界最悲哀的事情就是自我放弃。wp如果你真的做好了,转其他平台会难么?技术都是相通的。说多了,在win rt下,用ListView,我不知道楼主想做什么操作,ListView有ItemClick事件可以用的,当然用ItemClick还是用SelectionChanged事件,是根据你的需求而定的。如果只是单纯的菜单转跳,还是使用ItemClick吧,如果涉及到多选,用SelectionChanged.

dllbrother UID.92726
2015-03-29 回复

Quote揚楓 发表于 2015-3-28 23:31
忍不住补充一句,如果不是一定要学这个的话,建议转ios


真是醉了。。。

qiqiminmin UID.638527
2015-03-29 回复

本帖最后由 qiqiminmin 于 2015-3-29 01:50 编辑

在onNavigateTo的时候初始化 selectIndex = -1.

如果想要达到您的目的,只能这样了。 至于ios开发,我想凡是用过visual studio 超过一年的人,都不会喜欢xcode开发环境的。

Ps: 我现在基本也是不用微软提供的 listbox, listview.
全部都是用 scrollview + stackpanel(或者 wrappanel),item都是自己写。。。。。。,就加一些 itemcontrol就好了。 datatemplete随意写,扩展性非常好,比安卓好。。。。基本可以实现ios上所有UI功能。我其实很建议有windows 背景的人开发windows store app.

例图(当然这图也有广告嫌疑)
***附件停止解析***

vbfool UID.352791
2015-03-29 回复

Quote***链接停止解析***
在onNavigateTo的时候初始化 selectIndex = -1.

如果想要达到您的目的,只能这样了。 至于ios开发,我想 ...


自己用StackPanel的一个问题就是性能,因为没虚拟化了,显示数据太多时候,就变卡了。

qiqiminmin UID.638527
2015-03-29 回复

本帖最后由 qiqiminmin 于 2015-3-29 03:36 编辑

Quotevbfool 发表于 2015-3-29 02:05
自己用StackPanel的一个问题就是性能,因为没虚拟化了,显示数据太多时候,就变卡了。 ...


如果是一个一个加才会影响性能,其实listbox结构也是scrollview + panel +itemcontrol, 数据bind就行, 你可以去参考wptoolkit 或者 winrt toolkit里面相关内容 。

还有就是使用分段的做法,我刚刚还想回复另一个呢,我有些软件也是这么做的,是导航的poi数据,当拉到最下面的时候松手才问服务器询问数据,顺便更新数据

Leeway213 UID.76829
2015-03-29 回复

Quote***链接停止解析***
在onNavigateTo的时候初始化 selectIndex = -1.

如果想要达到您的目的,只能这样了。 至于ios开发,我想 ...



用StackPanel和WrapPanel的列表好像是不支持虚拟化。。。
我看资料里说可以用ItemsStackPanel和ItemsWrapGrid可以虚拟化
用您这个方法可以实现下拉松开刷新吗?

Leeway213 UID.76829
2015-03-29 回复

Quote***链接停止解析***
楼上说法是一种处理方式,但是这样挑拨wp的开发者也是醉了。虽然wp现在不如ios,安卓有前途,但说不定楼主 ...


{:3_55:} ItemClick果然好用多了

Leeway213 UID.76829
2015-03-29 回复

Quote***链接停止解析***
真是醉了。。。


{:6_218:} 他应该也是好心

暗****手 UID.379158
2015-04-03 回复

Quote***链接停止解析***
如果是一个一个加才会影响性能,其实listbox结构也是scrollview + panel +itemcontrol, 数据bind就行, ...


ListView自带UI虚拟化,很节省内存(尤其是有图片的时候),自己用StackPanel不加UI虚拟化的话图片来个几十张内存基本就爆炸了

qiqiminmin UID.638527
2015-04-03 回复

本帖最后由 qiqiminmin 于 2015-4-3 08:07 编辑

Quote***链接停止解析***
ListView自带UI虚拟化,很节省内存(尤其是有图片的时候),自己用StackPanel不加UI虚拟化的话图片来个几 ...


我上百张1024pixel的都无压力,谈何有有压力。主要是用
Items control, 然后itemsconrtol里的itemstemplatepanel设置为想要的,datatempelate自己写,
这样可以控制所有的动作,微软提供的限制太多了,而且毛病特别多 而且panel种类里都可以选择virtualstackpanel, 我特别也提到了要分段,请不要忽略

我还是复制 MSDN上的话吧,免得我说不清,
其实 listbox, listview, 都是由itemscontrol衍生出来的, itemscontrol 是listbox,listview的 base class,itemscontrol,说白了就是 放在scrollviewer 里的 stackpanel.

listview的class是这么写的
class ListView : itemscontrol

Note ItemsControl is the base class for several common collection controls, including ListView, GridView, FlipView, ListBox, and ComboBox controls. These examples use the ListView and GridView controls, but the info applies to generally to ItemsControls.
UI virtualization
When you add an item to an ItemsControl, the item is wrapped in an item container. For example, an item added to a ListView is wrapped in a ListViewItem. Without UI virtualization, the entire data set is kept in memory and an item container is also created for each item in the data set. A ListView that's bound to a collection of 1000 items will also create 1000 ListViewItem containers that are stored in memory.

而用itemscontrol,最大的好处就是可以自己控制,完全摆脱微软的条条框框, 手势,触摸,想怎么玩就怎么玩,
其实,您和上面一个回复的,可以去看看 wptoolkit 或者 winrttoolkit的源代码,很有帮助的,看了之后什么控件都喜欢自己写,当然是种娱乐,也能满足自己特殊的需求。

本站使用Golang构建,点击此处申请开源鄂ICP备18029942号-4联系站长投诉/举报