none
自学WP8应用开发,在longlistseletor这里卡住了!求助大神们! RRS feed

  • 问题

  • 按官方视频教程学习开发,就是Travel Journey的那个,在第3讲“Windows Phone 8应用中实现数据绑定”中,把如下

    var listSelector = sender as LongListSelector;

    var selectedItem = listSelector.SelectedItem as TravelJourney.ViewModels.ItemViewModel;

    if(selectedItem != null)

                    NavigationService.Navigate(newUri("/ItemDetail.xaml?name="+selectedItem.Name,UriKind.Relative));

    替换后,程序显示LongLisySelector在D盘的什么WP7中与在C盘的什么WP8中重复。网上也搜不到解决方法,求助!谢谢!!

    因为我的账户还不能附图,我就手输入了:

    类型“Microsoft.Phone.Controls.LongListSelector”同时存在于C盘的Microsoft.Phone.dll和D盘的Microsoft.Phone.Controls.Toolkit.dll

    2014年4月29日 9:46

答案

  • LongListSelector最初是Microsoft.Phone.Controls.Toolkit(老版本)中所提供的一个第三方控件,使用了Microsoft.Phone.Controls这个命名空间,但是微软官方在WP8的Microsoft.Phone.Controls命名空间下提供了一个名称完全相同的LongListSelector,因此在WP8项目中如果使用LongListSelector会产生歧义。

    解决的方法是升级Microsoft.Phone.Controls.Toolkit.dll到最新版本,链接如下:

    http://phone.codeplex.com/

    • 已标记为答案 BOB SNAPE 2014年4月30日 2:42
    • 取消答案标记 BOB SNAPE 2014年4月30日 2:44
    • 已标记为答案 BOB SNAPE 2014年4月30日 2:44
    • 取消答案标记 BOB SNAPE 2014年4月30日 8:07
    • 已标记为答案 BOB SNAPE 2014年5月2日 13:42
    2014年4月29日 16:29

全部回复

  • LongListSelector最初是Microsoft.Phone.Controls.Toolkit(老版本)中所提供的一个第三方控件,使用了Microsoft.Phone.Controls这个命名空间,但是微软官方在WP8的Microsoft.Phone.Controls命名空间下提供了一个名称完全相同的LongListSelector,因此在WP8项目中如果使用LongListSelector会产生歧义。

    解决的方法是升级Microsoft.Phone.Controls.Toolkit.dll到最新版本,链接如下:

    http://phone.codeplex.com/

    • 已标记为答案 BOB SNAPE 2014年4月30日 2:42
    • 取消答案标记 BOB SNAPE 2014年4月30日 2:44
    • 已标记为答案 BOB SNAPE 2014年4月30日 2:44
    • 取消答案标记 BOB SNAPE 2014年4月30日 8:07
    • 已标记为答案 BOB SNAPE 2014年5月2日 13:42
    2014年4月29日 16:29
  • lapheal兄,按您的做了,不行啊。

    我下午看了一下,电脑里的已是最新的2013.8.15了。

    但还是替换了一下文件,重启了studio,问题还是存在。

    文件是替换在自己的开发目录吧?

    2014年4月30日 7:50
  • lapheal兄,按您的做了,不行啊。

    我下午看了一下,电脑里的已是最新的2013.8.15了。

    但还是替换了一下文件,重启了studio,问题还是存在。

    文件是替换在自己的开发目录吧?

    可能是你引用错了Microsoft.Phone.Controls.Toolkit.dll,这个dll分为WP7和WP8版本的,在WP8版本中已经去掉LongListSelector了,所以必须要引用WP8版本的才行。实在不行的话你可以下载Microsoft.Phone.Controls.Toolkit.dll源码重新编译一个DLL。
    2014年4月30日 8:23
  • 嗯,略高端了。我再自己试试,琢磨琢磨。有问题到时还是来麻烦您了。谢谢!
    2014年4月30日 11:38
  • 用官网的范例文件运行,竟然没有问题。

    查看了一下packages里WPtoolkit是2012.10.30的。

    反而老版本的没问题了?

    2014年4月30日 13:19
  • 或许你可以在项目的引用里把Microsoft.Phone.Controls.Toolkit.dll给删了
    2014年5月6日 16:19