Silverlight: 关闭模态ChildWindow后,父窗口仍然变灰

5
当我的模态ChildWindow关闭时,父控件没有变回正常状态,所有用户输入都被阻止,强制我重新启动应用程序。导致此行为的确切场景如下:
1. 弹出ChildWindow A,用户在窗口底部点击自定义按钮(而不是OK或Cancel)。我的代码执行一些操作,然后调用ChildWindow的Close()方法。
2. ChildWindow A关闭,父控件的功能恢复(控件变回正常状态)。
3. 用户使ChildWindow B弹出。用户点击系统生成的OK或Cancel按钮。
4. ChildWindow B关闭,但父控件仍然处于灰色状态且无法访问。
这两个窗口单独使用时都可以正常工作。有什么想法吗?

无法重现。也许"My code does some work"存在问题? - AnthonyWJones
这种情况曾经发生在我身上。我的情况是在关闭第一个ChildWindow的同时打开了第二个ChildWindow。通过给第一个ChildWindow一些时间来关闭,问题得以解决。 - NestorArturo
1个回答

7

我看到了类似的内容(可能不能完全解决你的问题),并在这里找到了一些关于ChildWindow的讨论:此处

他们建议在ChildWindow关闭事件中使用此方法,对我很有效。

Application.Current.RootVisual.SetValue(Control.IsEnabledProperty, true);

也可以尝试调用this.DialogResult = true而不是Close方法。

2
这行代码对我来说实际上是有效的:Application.Current.RootVisual.SetValue(Control.IsEnabledProperty, true); - Roboblob

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接