Silverlight 4 dataform添加新项目

问题描述:

我正在使用Silverlight 4数据表单并尝试使用内置添加按钮在我的收藏中创建新项目。它工作正常,但我有一些需要在幕后设置的属性。我已经尝试过了可能看起来像AddingNewItem这样的事件,但是这个新项目只是只读的,我不能设置属性。Silverlight 4 dataform添加新项目

使用Silverlight 4数据表格添加新项目有什么窍门吗?

+0

你能更多地讨论需要在背后设置的属性? – 2011-04-02 00:47:27

+0

没什么特别的。只需将新对象上的ID字段设置为字符串,将所有者设置为当前登录的用户。 – sipwiz 2011-04-02 11:07:06

最后偶然发现经过大量搜索和反复试验后,才做到这一点。

在EditEnding事件处理程序中,在新创建的数据形式项目上设置属性的反直觉地方。数据形式Mode属性在AddingNewItem处理程序中只读,但等于在EditEnding处理程序中的AddNew。

我EditEnding处理程序代码是沿着线:

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