ListPicker控件的问题

zpzhangwenhan 2013-05-03 04:59:18
加精

WindowsPhone7.1环境
Windows Phone Toolkit - Nov 2011 (7.1 SDK)这是我用的版本

进入程序后,ListPicker控件的selectionchanged事件会自动运行?为什么?
我没进行选择,它为什么会先执行呢?求解???

就是一进入程序直接就执行SelectionChanged事件,而且执行两次
...全文
1056 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
zpzhangwenhan 2013-06-04
  • 打赏
  • 举报
回复
引用 24 楼 zhangruitiantian 的回复:
刚看了下源码,果然是. 厉害厉害.也解决俺的问题了,在此谢谢楼主和张文瀚.
楼主和张文翰是一个人,难道我分裂了??
zpzhangwenhan 2013-05-30
  • 打赏
  • 举报
回复
引用 22 楼 NianHui 的回复:
[quote=引用 21 楼 zpzhangwenhan 的回复:] [quote=引用 17 楼 xiaonuo_7 的回复:] 问题很简单,changed事件在xaml loaded事件中绑定
我就为Listpicker设了一个SelectionChanged事件 没有写load事件, 以上代码 请看[/quote] Listpicker源码的OnApplyTemplate方法内触发了SelectionChanged事件,OnApplyTemplate是用来对自定义控件应用模版布局的,按理说代码里不应该有着一行啊。 你有两个解决方案 1,修改源码,删除OnApplyTemplate方法内最后一样的OnSelectedItemsChanged语句,重新build一个dll。 2,在事件处理程序里面判断SelectionChangedEventArgs的AddedItems属性,如果包含小于1个元素就退出事件处理程序,只有它包含大于等于1个元素时再做真正的逻辑处理。 [/quote] 牛逼啊,谢谢啊
zhangruitiantian 2013-05-30
  • 打赏
  • 举报
回复
刚看了下源码,果然是. 厉害厉害.也解决俺的问题了,在此谢谢楼主和张文瀚.
#blackheart 2013-05-29
  • 打赏
  • 举报
回复
引用 18 楼 zpzhangwenhan 的回复:
引用 10 楼 NianHui 的回复:
更新下你的toolkit吧,我看是初期版本,估计是bug,换最新的toolkit试试
早起的版本不会这样,新的反而这样 ,我试过了
我这没有这样,你把你xaml贴出来
#blackheart 2013-05-29
  • 打赏
  • 举报
回复
引用 21 楼 zpzhangwenhan 的回复:
[quote=引用 17 楼 xiaonuo_7 的回复:] 问题很简单,changed事件在xaml loaded事件中绑定
我就为Listpicker设了一个SelectionChanged事件 没有写load事件, 以上代码 请看[/quote] Listpicker源码的OnApplyTemplate方法内触发了SelectionChanged事件,OnApplyTemplate是用来对自定义控件应用模版布局的,按理说代码里不应该有着一行啊。 你有两个解决方案 1,修改源码,删除OnApplyTemplate方法内最后一样的OnSelectedItemsChanged语句,重新build一个dll。 2,在事件处理程序里面判断SelectionChangedEventArgs的AddedItems属性,如果包含小于1个元素就退出事件处理程序,只有它包含大于等于1个元素时再做真正的逻辑处理。
zpzhangwenhan 2013-05-29
  • 打赏
  • 举报
回复
引用 17 楼 xiaonuo_7 的回复:
问题很简单,changed事件在xaml loaded事件中绑定
我就为Listpicker设了一个SelectionChanged事件 没有写load事件, 以上代码 请看
zpzhangwenhan 2013-05-29
  • 打赏
  • 举报
回复
引用 19 楼 NianHui 的回复:
引用 18 楼 zpzhangwenhan 的回复:
[quote=引用 10 楼 NianHui 的回复:] 更新下你的toolkit吧,我看是初期版本,估计是bug,换最新的toolkit试试
早起的版本不会这样,新的反而这样 ,我试过了
我这没有这样,你把你xaml贴出来[/quote]
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <toolkit:ListPicker Height="92" HorizontalAlignment="Left" Margin="44,64,0,0" Name="listPicker1" VerticalAlignment="Top" Width="384" SelectionChanged="listPicker1_SelectionChanged" />
        </Grid>
zpzhangwenhan 2013-05-28
  • 打赏
  • 举报
回复
引用 10 楼 NianHui 的回复:
更新下你的toolkit吧,我看是初期版本,估计是bug,换最新的toolkit试试
早起的版本不会这样,新的反而这样 ,我试过了
xiaonuo_7 2013-05-27
  • 打赏
  • 举报
回复
问题很简单,changed事件在xaml loaded事件中绑定
停转的发条 2013-05-23
  • 打赏
  • 举报
回复
ywqqdd 2013-05-23
  • 打赏
  • 举报
回复
谢谢楼主谢谢楼主
beyondma 2013-05-21
  • 打赏
  • 举报
回复
不会的吧,第一次的执行函数Stack是啥?
#blackheart 2013-05-21
  • 打赏
  • 举报
回复
更新下你的toolkit吧,我看是初期版本,估计是bug,换最新的toolkit试试
#blackheart 2013-05-21
  • 打赏
  • 举报
回复
既然是toolkit,翻下源码看看去就知道了
zhangruitiantian 2013-05-20
  • 打赏
  • 举报
回复
这个问题没有人解决吗?我也想学习一下。
91program 2013-05-17
  • 打赏
  • 举报
回复
如果说有一个默认选项,那选择执行一次还可以理解。 但 LZ 说执行了两次,这还真不清楚了。
zpzhangwenhan 2013-05-17
  • 打赏
  • 举报
回复
引用 6 楼 91program 的回复:
如果说有一个默认选项,那选择执行一次还可以理解。 但 LZ 说执行了两次,这还真不清楚了。
LZ亲测确实是执行两次,而且是先于load事件执行,竟然比load事件还早执行
zpzhangwenhan 2013-05-16
  • 打赏
  • 举报
回复
引用 4 楼 zhangruitiantian 的回复:
执行这段代码时 listPicker1.ItemsSource = test 就会触发selectionchanged事件. 我也不知道为什么,所以只好在响应事件逻辑中做处理.
那该怎么办啊?绑定数据为什么就会执行selectionchanged事件呢? 该怎么弄才好呢?
zhangruitiantian 2013-05-16
  • 打赏
  • 举报
回复
执行这段代码时 listPicker1.ItemsSource = test 就会触发selectionchanged事件. 我也不知道为什么,所以只好在响应事件逻辑中做处理.
zpzhangwenhan 2013-05-03
  • 打赏
  • 举报
回复


谁知道什么原因啊 我试了几个版本都这样 难道是bug? 还是我小白?
加载更多回复(2)

7,657

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧