【问题标题】:How to specify an IComparer for a particular property on a model that can be used for Silverlight DataGrid column sorting如何为模型上可用于 Silverlight DataGrid 列排序的特定属性指定 IComparer
【发布时间】:2012-10-27 21:21:40
【问题描述】:

我有一个 Silverlight 数据网格,其中的一列绑定设置为模型上的字符串属性。这些字符串是字母数字的,所以我创建了一个自定义 IComparer 来对它们进行适当的排序。我的问题是如何在按此列排序时强制网格使用此自定义比较器?

我的一个想法是,可能有一些属性可以应用于我绑定到的模型的字符串属性,当将该值与另一个字符串进行比较时,它会明确指定要使用的比较器?

【问题讨论】:

    标签: c# silverlight datagrid icomparer


    【解决方案1】:

    类似于下面的属性,但在您的情况下,您应该使用您的 ICompare 返回。

    private ObservableCollection<ListOfMyClassType> myGridItemSource;
    public ObservableCollection<ListOfMyClassType> MyGridItemSource
    {
          get { return myGridItemSource; }
          set { myGridItemSource = value; OnPropertyChanged("MyGridItemSource");}
    }
    

    【讨论】:

      【解决方案2】:

      如果将网格绑定到 ViewModel,则在获取绑定到 View 的属性时使用 ICompare。

      【讨论】:

      • 您会发现一个更好的属性示例来绑定到您的 ListItem 源。
      • 您应该考虑合并您的两个答案(可能将它们作为替代)。
      猜你喜欢
      • 2011-05-13
      • 2011-05-08
      • 2018-09-07
      • 2013-08-26
      • 2018-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-24
      相关资源
      最近更新 更多