我正在使用Silverlight 4数据表并尝试使用内置的添加按钮在我的集合中创建一个新项目。它工作正常,除了我有许多需要在幕后设置的属性。我已经尝试连接可能看起来的事件,例如AddingNewItem,但新项目在那时是只读的,我无法设置属性。
是否有使用Silverlight 4数据表添加新项目的技巧?
答案 0 :(得分:5)
经过多次搜索和反复试验后,最终偶然发现了这样做的方法。
在新创建的数据表项上设置属性的相反直观的地方是在EditEnding事件处理程序中。 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();
}
}