我有一个Silverlight数据网格,其中绑定的列设置为模型上的字符串属性。这些字符串是字母数字的,所以我创建了一个自定义的IComparer来对它们进行适当的排序。我的问题是,如何强制网格使用此自定义比较器排列此列时?如何为可用于Silverlight DataGrid列排序的模型上的特定属性指定IComparer
我的一个想法或许有一些属性,可对我绑定到模型的字符串属性被应用,这将显式地指定用另一个字符串比较该值时使用的比较器?
我有一个Silverlight数据网格,其中绑定的列设置为模型上的字符串属性。这些字符串是字母数字的,所以我创建了一个自定义的IComparer来对它们进行适当的排序。我的问题是,如何强制网格使用此自定义比较器排列此列时?如何为可用于Silverlight DataGrid列排序的模型上的特定属性指定IComparer
我的一个想法或许有一些属性,可对我绑定到模型的字符串属性被应用,这将显式地指定用另一个字符串比较该值时使用的比较器?
如果你将你的网格绑定到你的ViewModel,那么你在绑定到你的视图的属性中使用ICompare。
像财产bellow,但在你的情况下,你应该返回使用你的ICompare。
private ObservableCollection<ListOfMyClassType> myGridItemSource;
public ObservableCollection<ListOfMyClassType> MyGridItemSource
{
get { return myGridItemSource; }
set { myGridItemSource = value; OnPropertyChanged("MyGridItemSource");}
}
贝娄你会发现一个更好的属性绑定到你的ListItem源的例子。 –
贝娄...哪里? – j0k
你应该考虑合并你的两个答案(可能将他们作为替代品)。 – Jeroen