【问题标题】:Using the same ListView on two PivotItems without code duplication在两个 PivotItem 上使用相同的 ListView 而无需重复代码
【发布时间】:2015-05-14 21:27:52
【问题描述】:

我正在开发一个购物 Windows Phone 8.1 应用程序,其中有一个“促销”页面。此页面是具有两个 PivotItems 的 Pivot 页面。第一项显示前 100 个促销,第二项显示所有促销。为了获取数据,我调用了网络服务。两种情况下的数据结构相同,因此我在两个页面上使用相同的 ListView 和 DataTemplate。我的问题是:在这种情况下如何避免代码重复?如何在不复制粘贴 XAML 和代码的情况下在两个 PivotItem 上使用相同的 ListView 和 DataTemplate?

【问题讨论】:

    标签: xaml listview windows-phone-8.1 pivot reusability


    【解决方案1】:

    您需要在视图模型中创建另一个属性,该属性采用第一个过滤器,如下所示:

        public ObservableCollection<ItemModel> ItemList { get; set; }
        public IEnumerable<ItemModel> Top100List { get { return (from i in ItemList select i).Take(100); } }
    

    然后将每个 ListView 绑定到相应的属性。此示例假定前 100 个项目是列表中的前 100 个项目。如果不是,那么您将不得不修改 linq 语句或在添加项目时对列表进行排序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-20
      • 2018-09-27
      • 2019-05-14
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多