Silverlight 4 dataform добавить новый элемент - PullRequest
1 голос
/ 02 апреля 2011

Я использую форму данных Silverlight 4 и пытаюсь использовать встроенную кнопку добавления, чтобы создать новый элемент в моей коллекции. Он отлично работает, за исключением того, что у меня есть ряд свойств, которые должны быть установлены за кулисами. Я попытался подключиться к вероятным событиям, таким как AddingNewItem, но в этот момент новый элемент доступен только для чтения, и я не могу установить свойства.

Есть ли хитрость для добавления новых элементов с использованием формы данных Silverlight 4?

1 Ответ

5 голосов
/ 02 апреля 2011

Наконец-то наткнулся на способ сделать это после долгих поисков, проб и ошибок.

Довольно нелогичным местом для установки свойств для вновь созданного элемента формы данных является обработчик события EditEnding. Свойство Dataform Mode доступно только для обработки в обработчике AddingNewItem, но равно AddNew в обработчике EditEnding.

Мой код обработчика EditEnding выглядит следующим образом:

private void EditEnding(object sender, DataFormEditEndingEventArgs e)
{
     if (myDataForm.Mode == DataFormMode.AddNew)
     {
          MyItem item = myDataForm.CurrentItem as MyItem;
          item.ID = Guid.NewGuid().ToString();
     }
}
...