rem*_*rem 3 c# silverlight wpf
在WPF中,我经常使用这样的结构:
SomeChildWindow dlg = new SomeChildWindow();
dlg.ShowDialog();
...
//child window is closed either by "this.DialogResult = true;" or just by "Close();"
//and in Parent window after Child window is closed we can use condition based on that
...
if (dlg.DialogResult == true)
{
//do something
}
Run Code Online (Sandbox Code Playgroud)
但在Silverlight中,这种方法不起作用.
Silverlight的替代方案是什么?我的意思是如何从Silverlight中的子窗口获得反馈?
您可以通过处理close事件来完成此操作:
SomeChildWindow dlg = new SomeChildWindow();
dlg.Closed += (s, eargs) =>
{
if(dlg.DialogResult == true)
{
//do something
}
};
dlg.Show();
Run Code Online (Sandbox Code Playgroud)
Silverlight不支持完全模态对话框,这会阻止传统方法检查对话框结果.相反,您需要将事件处理程序分配给将处理对话结果的对话框.活动是ChildWindow.Closed.
然后ChildWindow.DialogResult,您可以在该事件处理程序中获取相应的处理方式.
private void OnDialogClosed(object sender, EventArgs args)
{
var window = (ChildWindow)sender;
if (window.DialogResult ?? false)
{
}
else
{
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7615 次 |
| 最近记录: |