2016-05-17 7 views
1

Wie kann die nächste Zellenfokussierung nach dem Hinzufügen eines neuen Elements im Datagrid deaktiviert werden? Bitte beachten Sie, dass ich meine Anwendung in MVVM-Muster mache.Datagrid-Zellenfokus xaml

Antwort

1

Sie können die Auswahl des nächsten Elements nicht deaktivieren. Es ist das beabsichtigte Verhalten des Datagrids. Ich hoffe, Sie wollen ein Verhalten wie wenn Benutzer auf eine Zeile klickt sollte es ausgewählt werden und wenn ein neuer Wert hinzugefügt wird, wollen Sie nicht die Auswahl automatisch ändern. Dafür ist die beste Sache zu tun, die SelectedInex des Datagrid an eine Eigenschaft zu binden und dann manuell festlegen, wenn die Auswahl ändert, wenn eine Daten aktualisiert wird. Sie können das erforderliche Verhalten auch im Set von SelectedIndex Eigenschaft festlegen.

Tatsächlich gibt es einige Möglichkeiten, Elemente im DataGrid auszuwählen. Es kommt nur die man am besten für die Situation

Zunächst arbeitet und grundlegendste ist SelectedIndex dies wird nur die Zeile wählt an diesem Index im Datagrid

<DataGrid SelectedIndex="{Binding SelectedIndex}" /> 

private int _selectedIndex; 
public int SelectedIndex 
{ 
    get { return _selectedIndex; } 
    set { _selectedIndex = value; NotifyPropertyChanged("SelectedIndex"); } 
} 

SelectedIndex = 2; 

SelectedItem wird die Zeile auswählen, die übereinstimmt Reihe Sie setzen

<DataGrid SelectedItem="{Binding SelectedRow}" /> 

private DataRow _selectedRow; 
public DataRow SelectedRow 
{ 
    get { return _selectedRow; } 
    set { _selectedRow = value; NotifyPropertyChanged("SelectedRow");} 
} 

SelectedRow = items.First(x => x.whatever == something); 
+0

Ok .. Danke .. – Rubel