Ich versuche, den Fokus einer Zelle in einem Datagrid basierend auf einer eingegebenen Teilenummer festzulegen, so dass der Benutzer das Teil scannen und dann den Wert sehr schnell bearbeiten kann. Jetzt kann ich den Index der Teilenummer in der ObservableCollection von Elementen finden, die ich habe, aber ich habe Probleme, ihn auf diese Rasterzelle zu setzen. grTimeEntries ist der Name des Datengitters. Der aktuelle Code unten ist mir ein Fehler beim Versuch, den neuen DataGridCellInfoSetzen Sie den Fokus auf eine bestimmte DataGrid-Zelle
Error 1 Cannot initialize type 'System.Windows.Controls.DataGridCellInfo' with a collection initializer because it does not implement 'System.Collections.IEnumerable'
Der Code zu erstellen:
private void Button_Click(object sender, RoutedEventArgs e)
{
string ToFind = tbIPN.Text;
for (int i = 0; i < (grMain.DataContext as DatabaseViewmodel).items.Count; i++)
{
if ((grMain.DataContext as DatabaseViewmodel).items[i].IPN == ToFind)
{
grTimeEntries.CurrentCell = new DataGridCellInfo { grTimeEntries.Items[i], grTimeEntries.Columns[1] };
//grTimeEntries.SelectedIndex = i; Focussed entire row. Wont work if i have selectionunit = "Cell".
grTimeEntries.Focus();
}
}
}