2

我只是在尝试使用Corinna Black 在本视频中演示的相同示例应用程序(大约 21:40)。她在 Blend 中创建了示例数据,并将其作为 ListBox 绑定到 Panorama Item 的 Grid。当我将集合拖放到设计器时,这是 Blend 将为我提供的唯一选项。

从 Windows Phone 8 开始,ListBox 被 Windows Phone Toolkit 的 LongListSelector 取代。我现在的问题是:Blend 怎么可能使用 ListBox 而我却不能在 Visual Studio 2012 中使用 ListBox,尽管我已经创建了一个仅限 Windows Phone 8 的项目?如果我尝试在 XAML 代码中用 LongListSelector 替换 ListBox,Blend 会报错:

名称空间“http://schemas.microsoft.com/client/2007”中不存在名称“LongListSelector”

我认为 ListBox 的使用已被弃用,因为 LongListSelector 中的滚动性能更好。那么为什么 Blend 使用旧的 ListBox 而不是应该更好的 LongListSelector 呢?以及如何使用 LongListSelector 为 Windows Phone 8 应用程序创建示例数据?

谢谢!

4

2 回答 2

0

我找到了问题的答案: LongListSelector 不是普通库的一部分。它是Windows Phone Toolkit library的一部分,必须使用 NuGet 预先添加。

将新命名空间添加到您的 xaml:

xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"

现在您可以使用 LongListSelector 访问

<phone:LongListSelector/>

然后,您可以分配一个 ItemsSource,甚至可以与设计数据混合使用它。

于 2013-02-27T08:31:24.623 回答
0

longlistselector 现在是核心 SDK 库的一部分。我建议使用它而不是工具包的 LLS。

核心库 LLS 用于无缝替换您的 WP7 列表框,如果您想使用该工具包的列表框,则必须进行一些自定义。

于 2013-04-16T11:10:48.750 回答