【问题标题】:Usage of ListBox instead of LongListSelector in Blends Sample Data for Windows Phone 8在 Windows Phone 8 的混合示例数据中使用 ListBox 而不是 LongListSelector
【发布时间】:2012-12-10 11:39:40
【问题描述】:

我只是在试验与Corinna Black demonstrated in this Video 相同的示例应用程序(大约 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 应用程序创建示例数据?

谢谢!

【问题讨论】:

    标签: listbox windows-phone windows-phone-8 blend longlistselector


    【解决方案1】:

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

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

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

    现在您可以使用

    访问 LongListSelector
    <phone:LongListSelector/>
    

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-24
        • 1970-01-01
        相关资源
        最近更新 更多