Silverlight 4应用程序冻结而不会抛出任何异常

时间:2011-12-08 11:38:25

标签: c# silverlight silverlight-4.0 ria

我正在开发Silverlight 4 RIA应用程序。有一个DataGrid存储数据和两个按钮:添加一个新项目并删除一个项目。在为第二次时间创建新项目后,应用程序冻结了this - 我将解释下面的奇怪行为。

创建新项目的方案如下所示:

  1. 单击后,将显示子窗口。对parrent页面上使用的域数据源的引用正在进行中 传递给构造函数中的子窗口。
  2. 用户选择一个文件。
  3. 该文件将发送到Web服务。作为响应,Web服务从该文件返回一些数据。
  4. 正在创建新数据对象并将其插入域数据源。
  5. 子窗口导致整个应用程序仅在被调用两次时冻结,但第一次调用需要创建对象。我可以反复打开和关闭子窗口,一切都会正常工作,直到以下序列:open.create - > open.close / open.create发生。我尝试使用VS工具跟踪所有异常(alt ctrl e),但没有。

    上的断点
    private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
    

    也没有显示任何内容。有什么想法吗?

    Page code. Child window code

2 个答案:

答案 0 :(得分:1)

删除以下内容,一切都会好的。

    private void ChildWindow_Closed(object sender, EventArgs e)
    {
        this.DialogResult = false;
    }

为了进一步评估,ChildWindow_Closed是首先设置DialogResult的结果。 通过重新设置它意外的事情发生。

答案 1 :(得分:0)

在你帮我解决这个问题后,我做了一些研究。似乎是一个SL4错误。 这也应该有所帮助。关于this on SL forums.

的主题
protected override void OnClosed(EventArgs e)
    {
        base.OnClosed(e);
        Application.Current.RootVisual.SetValue(Control.IsEnabledProperty, true);
    }