从包含的UserControl关闭WPF对话框

时间:2012-05-07 11:51:07

标签: wpf user-controls

您好我有一个WPF应用程序,其中包含各种包含关键功能的UserControl。我希望能够在主应用程序的选项卡中显示一个FileManager UserControl,或者在需要时弹出一个包含相同UserControl的对话框。

创建模态窗口并将其Content设置为FileManager Usercontrol似乎是个好主意。但是当我完成它时,我不知道如何使用UserControl上的按钮关闭包含的窗口。有没有一种优雅的方法来实现这一点,而无需在UserControl中存储对Window的引用?

感谢您的任何建议!

2 个答案:

答案 0 :(得分:3)

创建Event,在单击用户控件上的相应按钮时调用该{{1}}。这样,包含控件可以以适当的方式对事件作出反应。例如,对话框可以自行关闭。

答案 1 :(得分:1)

在托管控件的所有上下文中,关闭窗口是否与控件功能不可分割? E.g关闭窗口是否适用于主应用程序的选项卡中托管控件的情况?

如果没有那么你可能最好将窗口关闭代码从UserControl中分离到托管它的窗口/对话框中 - 使用事件或其他任何东西将两者绑在一起。