我只是试验Corinna Black demonstrated in this Video(约21:40左右)的相同示例应用程序。她在Blend中创建了样本数据,并将其作为ListBox绑定到Panorama项目的Grid。当我将集合拖放到Designer时,这是Blend将为我提供的唯一选项。
从Windows Phone 8开始,ListBox被Windows Phone Toolkit的LongListSelector取代。我现在的问题是:虽然我已经创建了一个仅限Windows Phone 8的项目,但是当我无法在Visual Studio 2012中使用ListBox时,Blend可以使用ListBox吗?如果我尝试在XAML代码中用LongListSelector替换ListBox,Blend会抱怨此错误:
名称空间“LongListSelector”在命名空间“http://schemas.microsoft.com/client/2007”中不存在
我认为不推荐使用ListBox,因为LongListSelector具有更好的滚动性能。那么为什么Blend使用旧的ListBox而不是更好的LongListSelector呢?如何使用LongListSelector for Windows Phone 8应用程序创建示例数据?
谢谢!
答案 0 :(得分:0)
我找到了问题的答案:LongListSelector不是普通库的一部分。它是Windows Phone Toolkit library的一部分,必须事先与NuGet一起添加。
将新命名空间添加到xaml:
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
现在您可以使用
访问LongListSelector<phone:LongListSelector/>
然后,您可以分配ItemsSource,即使与设计数据混合也可以使用它。
答案 1 :(得分:0)
longlistselector现在是核心SDK库的一部分。我建议使用它而不是工具包的LLS。
核心库LLS可以无缝替换您的WP7列表框,如果您想使用工具包,则需要进行一些自定义。