Wenn ich ein Element im DataGrid auswähle, scheint es, dass ich die Auswahl nicht ändern kann. Ich könnte auf eine andere Reihe klicken, aber es wird nichts tun. Ich weiß das, weil, wenn die Aktion SelectionChanged für dieses Datagrid voller Kunden passiert, ich eine Popup-Box habe, die dort ihren Namen zeigt. Der Name ist immer derselbe. Hier ist die C# -CodeDataGrid zum Ändern des ausgewählten Elements veranlassen
priavate void dataGridCustomers_SelectionChanged(object sender, SelectionChangedEventArgs)
{
Customer selectedCustomer = (Customer) dataGridCustomers.SelectedItem;
MessageBox.Show(selectedCustomer.FirstName);
}
ich es möchte, so dass jedes Mal, wenn ich eine Zeile auszuwählen, das ist das ausgewählte Element
Manchmal sagt es das ausgewählte Element null ist, warum sollte das sein? –
SelectedItem ist das Element, das im Raster ausgewählt ist. In diesem Ereignishandler wird das SelectedItem nur festgelegt, nachdem das sectionChanged-Ereignis ausgeführt wurde. Wenn also zunächst kein SelectedItem (null) vorhanden war und Sie versucht haben, es in der obigen Methode zu überprüfen, wäre es null, weil es noch nicht festgelegt wurde. – onemorecupofcoffee
Das ist, warum Sie die args.AddedItems verwenden müssen - das sind die Elemente, die der Auswahl hinzugefügt werden, nachdem der Ereignishandler (SelectionChanged) ausgelöst wird – onemorecupofcoffee