Silverlight 4.0 Silverlight 4数据表单添加新项

Silverlight 4.0 Silverlight 4数据表单添加新项,silverlight-4.0,dataform,Silverlight 4.0,Dataform,我正在使用Silverlight 4数据表单,并尝试使用内置的add按钮在我的集合中创建一个新项。它工作得很好,只是我有一些需要在幕后设置的属性。我已经尝试连接到可能出现的事件,例如AddingNewItem,但此时新项目是只读的,我无法设置属性 使用Silverlight 4数据表单添加新项目有什么诀窍吗?经过多次搜索和反复尝试,终于找到了添加新项目的方法 在EditEnding事件处理程序中设置新创建的dataform项的属性与直觉相反。dataform Mode属性在AddingNewIt

我正在使用Silverlight 4数据表单,并尝试使用内置的add按钮在我的集合中创建一个新项。它工作得很好,只是我有一些需要在幕后设置的属性。我已经尝试连接到可能出现的事件,例如AddingNewItem,但此时新项目是只读的,我无法设置属性


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

经过多次搜索和反复尝试,终于找到了添加新项目的方法

在EditEnding事件处理程序中设置新创建的dataform项的属性与直觉相反。dataform 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();
     }
}

经过多次探索和反复试验,终于找到了实现这一目标的方法

在EditEnding事件处理程序中设置新创建的dataform项的属性与直觉相反。dataform 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();
     }
}

你能详细说明一下需要在幕后设置的属性吗?没什么特别的。只需将新对象上的ID字段设置为字符串,将所有者设置为当前登录的用户。能否详细说明需要在幕后设置的属性?没有什么特别的。只需将新对象上的ID字段设置为字符串,将所有者设置为当前登录的用户。