WPFでは、私はいくつかの列を持つDataGridを持っています。WPF - 1カラムのデータグリッドはデフォルトでソート
デフォルトでは、私はそれを並べ替えたいですが、私はこれを行う方法を見つけることができません。
XAMLでDataGridが次のようになります。
<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を見てみましょう。 –
私はすでにこれを試しました: 'ICollectionView view = CollectionViewSource.GetDefaultView(dataGrid1.ItemsSource); view.SortDescriptions.Clear(); view.SortDescriptions.Add(新しいSortDescription( "LastName"、ListSortDirection.Ascending)); view.Refresh(); 'しかし、これは私の上のコードではうまくいかないようです。私はそれを動作させるために何をすべきか理解していません。 – Dante1986
TrackListの子供を並べ替えることを検討しましたか? –