Silverlight 4数据表单添加新项目

发布于 2024-10-28 19:29:24 字数 169 浏览 2 评论 0原文

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

有没有使用 Silverlight 4 数据表单添加新项目的技巧?

I'm using a Silverlight 4 dataform and attempting to use the inbuilt add button to create a new item in my collection. It works fine except that I have a number of properties that need to be set behind the scenes. I've tried hooking into the likely looking events such as AddingNewItem but the new item is readonly at that point and I can't set the properties.

Is there a trick to add new items using the Silverlight 4 dataform?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只是偏爱你 2024-11-04 19:29:24

经过多次搜索和反复试验,终于偶然发现了这样做的方法。

在新创建的数据表单项上设置属性的相当违反直觉的位置是在 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();
     }
}

Finally stumbled on the way to do it after much searching and trial and error.

The rather counter-intuitive place to set the properties on a newly created dataform item is in the EditEnding event handler. The dataform Mode property is readonly in the AddingNewItem handler but is equal to AddNew in the EditEnding handler.

My EditEnding handler code is along the lines of:

private void EditEnding(object sender, DataFormEditEndingEventArgs e)
{
     if (myDataForm.Mode == DataFormMode.AddNew)
     {
          MyItem item = myDataForm.CurrentItem as MyItem;
          item.ID = Guid.NewGuid().ToString();
     }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文