Jak mogę umieścić kod Silverlight 3 DataGridCell w trybie edycji?

Chcę mieć możliwość wybrania konkretnej komórki w Silverlight 3.0 DataGrid i wprowadzenia jej do trybu edycji. Mogę użyć VisualTreeManager do zlokalizowania komórki. Jak przejść do trybu edycji?

Każda DataGridCell wygląda tak w VisualTreeManager:

          System.Windows.Controls.DataGridCell
            System.Windows.Controls.Grid
              System.Windows.Shapes.Rectangle
              System.Windows.Controls.ContentPresenter
                System.Windows.Controls.TextBlock
              System.Windows.Shapes.Rectangle
              System.Windows.Shapes.Rectangle

z TextBlock zawierającym tekst, który chcę edytować.

Aktualizacja

Podążając za sugestią @AnthonyWJones, oto jak próbowałem to zrobić za pomocą BeginEdit ().

Chciałem zachować prostotę, więc pomyślałem, że wybiorę kolumnę w pierwszym rzędzie. Nawet to okazało się poza moją wiedzą SL! W końcu otrzymuję pierwszy wiersz, tworząc pole o nazwie firstRow, aby go zatrzymać:

private DataGridRow firstRow;

dodano obsługę ładowania LoadingRow do siatki danych:

LoadingRow="computersDataGrid_LoadingRow"

i

private void computersDataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
    if (this.firstRow == null)
        this.firstRow = e.Row;
}

a następnie dodawanie przycisku do panelu w celu wywołania edycji:

private void Button_Click(object sender, RoutedEventArgs e)
{
    this.dataGrid.SelectedItem = this.firstRow;
    this.dataGrid.CurrentColumn = this.dataGrid.Columns[4];
    this.dataGrid.BeginEdit();
}

Klikam przycisk, a właściwa komórka jest zaznaczona, ale nie przechodzi do edycji w komórce. Aby to osiągnąć, trzeba ręcznie kliknąć.

questionAnswers(2)

yourAnswerToTheQuestion