从包含的UserControl关闭WPF对话框

从包含的UserControl关闭WPF对话框,wpf,user-controls,Wpf,User Controls,您好,我有一个WPF应用程序,其中包含各种包含关键功能的UserControl。我希望能够在主应用程序的选项卡中显示FileManager用户控件,或者在需要时弹出一个包含相同用户控件的对话框 创建一个模式窗口并将其内容设置为文件管理器用户控件似乎是个好主意。但是当我完成它时,我不知道如何使用UserControl上的按钮关闭包含它的窗口。有没有一种优雅的方法可以做到这一点,而不必在UserControl中存储对窗口的引用 谢谢你的建议 创建一个事件,单击用户控件上的相应按钮时调用该事件。这样,

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

创建一个模式窗口并将其
内容设置为
文件管理器
用户控件似乎是个好主意。但是当我完成它时,我不知道如何使用UserControl上的按钮关闭包含它的窗口。有没有一种优雅的方法可以做到这一点,而不必在UserControl中存储对窗口的引用


谢谢你的建议

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

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

是否关闭窗口在控件所在的所有上下文中都是控件功能的一部分?例如,关闭窗口是否适用于控件位于主应用程序选项卡中的情况


如果不是这样,那么最好将窗口关闭代码从UserControl中分离出来,放入托管它的窗口/对话框中-使用事件或其他方法将两者联系在一起。

在托管控件的所有上下文中,关闭窗口是控件功能的一部分吗?例如,关闭窗口是否适用于控件位于主应用程序选项卡中的情况


如果不是这样,那么最好将窗口关闭代码从用户控件中分离出来,放入宿主它的窗口/对话框中——使用事件或其他方法将两者联系在一起。

谢谢,这让我想到了。没错,如果关闭按钮位于非关闭对话框中,则将其放置在usercontrol中没有任何意义。谢谢谢谢,这让我想到了。没错,如果关闭按钮位于非关闭对话框中,则将其放置在usercontrol中没有任何意义。谢谢谢谢,我很感激你的回答。@DaveClemer:你为什么不把第二次发生的事情也改变一下呢?你为什么要改变第一个?@Thorsten,我当然可以突出显示这两个事件,在我看来,第一个事件更像是一个编码动作(因此突出显示),第二个事件更像是一个自然句子中的描述。您可以根据需要进行编辑。:-)谢谢,我很感激你的回答。@DaveClemer:你为什么不把第二次发生的事情也改变一下呢?你为什么要改变第一个?@Thorsten,我当然可以突出显示这两个事件,在我看来,第一个事件更像是一个编码动作(因此突出显示),第二个事件更像是一个自然句子中的描述。您可以根据需要进行编辑。:-)