2016-06-15 14 views
0

Ich habe ein DataGrid mit benutzersortierbaren Spalten. ItemSorce ist an eine CollectionViewSource gebunden, die eine Standardsortierung anwendet. Die CollectionViewSource ist wiederum an eine ObservableCollection gebunden. Ich möchte das erste Element ausgewählt werden, wenn der Bildschirm zum ersten Mal geladen wird. Einstellung SelectedIndex funktioniert nicht, da ich SelectedItem an eine Eigenschaft gebunden habe, die anfänglich null ist, und ich brauche diese Bindung in zwei Richtungen.Wählen Sie das erste Element in einem sortierten DataGrid

Ich kann die an SelectedItem gebundene Eigenschaft nicht auf das erste Element festlegen, da die Auflistung auf der Ansichtsseite sortiert ist und ich nicht weiß, was das erste Element ist.

Hilfe bitte.

Antwort

0

Ich bin nicht sicher, ob dies für Sie arbeiten, aber man kann versuchen:

  1. Geben Sie Ihrem Ansichtsmodell einen Namen (falls Sie eine haben), so können Sie ihn durch seinen Namen zuzugreifen;
  2. Registrieren Sie einen Ereignishandler für das Loaded-Ereignis Ihres DataGrids.
  3. in dem Handler das erste Element des Datagrid durch
  4. erhalten Set der SelectedItem des Ansichtsmodell zu dem Punkt wir in Punkt haben 3. ‚YourViewModel.SelectedItem = firstItem;‘. Wenn das SelectedItem das ui benachrichtigt, wenn es sich ändert, ist aka beobachtbar, Ihre Benutzeroberfläche sollte aktualisiert werden.
Verwandte Themen