Как немедленно проверить вновь вставленную строку в сетке данных Silverlight 3?

У меня есть библиотека инструментов Silverlight 3 с пользовательским элементом управления DataGrid. Эта сетка не имеет прямого доступа к типам объектов WCF RIA Services, поэтому я использую отражение, чтобы добавить новый элемент, когда пользователь нажимает на сетку, когда она пуста:

private void InsertEmptyRecord()
{
    if (this._dataGrid.ItemsSource == null)
        return;

    Type[] typeParameters = this._dataGrid.ItemsSource.GetType().GetGenericArguments();
    if (typeParameters.Count() > 0)
    {
        Type itemType = typeParameters[0];
        object newItem = System.Activator.CreateInstance(itemType);

        Type sourceType = typeof(System.Windows.Ria.EntityCollection<>);
        Type genericType = sourceType.MakeGenericType(itemType);
        System.Reflection.MethodInfo addMethod = genericType.GetMethod("Add");
        addMethod.Invoke(this._dataGrid.ItemsSource, new object[] { newItem });

        // == Validate data here ==
    }
}

Это работает, но мне нужно также проверить после добавления нового элемента. Есть два способа сделать это:

Заставьте пользователя войти в режим редактирования для первой ячейки новой строки в сетке. (Это приведет к принудительной проверке, если они щелкнут где-нибудь еще на странице.)Принудительная проверка запускается сразу после добавления новой строки (или когда сетка теряет фокус).

Я не смог заставить ни одного из них работать. Пробовал это, но он только выбирает строку, не заставляет проверки запускаться:

this._dataGrid.SelectedItem = newItem;
System.ComponentModel.IEditableObject editableItem = newItem as System.ComponentModel.IEditableObject;
if (editableItem != null)
    editableItem.BeginEdit();

Какие-либо предложения?

Ответы на вопрос(1)

Ваш ответ на вопрос