在WPF中,我有一个DataGrid有几列。WPF中的Datagrid - 1列默认排序
默认情况下,有1我想使它排序,但我只是无法找到我可以做到这一点。
数据网格中的XAML看起来是这样的:
<DataGrid x:Name="LibraryView" ItemsSource="{Binding Path=Elements[Persons]}" IsReadOnly="True" LoadingRow="dg_LoadingRow">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Path=Element[Name].Value}" IsReadOnly="True" />
<DataGridTextColumn Header="Score" Binding="{Binding Path=Element[Score].Value}" IsReadOnly="True" />
<DataGridTextColumn Header="Date" Binding="{Binding Path=Element[Date].Value}" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
和它背后的唯一代码:
public ScoreBoard()
{
InitializeComponent();
DataSet ds = dweMethods.DecryptAndDeserialize("ScoreData.xml");
XElement TrackList = XElement.Parse(ds.GetXml());
LibraryView.DataContext = TrackList;
}
我只是找不到什么是如何让它默认排序上“分数”栏。
任何人都可以帮助我指出我在正确的方向吗?
看看CollectionViewSource。 – 2012-01-22 20:46:50
我已经试过这个:'ICollectionView view = CollectionViewSource.GetDefaultView(dataGrid1.ItemsSource); view.SortDescriptions.Clear(); view.SortDescriptions.Add(new SortDescription(“LastName”,ListSortDirection.Ascending)); view.Refresh();'但是,这似乎并没有与我的上述代码工作,我不知道,也不明白我应该做些什么来使它工作 – Dante1986
你认为排序你的TrackList儿童? – 2012-01-22 22:31:00