1

InitializeComponent()如果任何验证失败,我们可以关闭 WPF 窗口吗?我正在验证文件在窗口加载时是否存在,如果文件不存在,那么如何在加载之前关闭窗口?

4

2 回答 2

3

我会推荐一种不同的方法。

我认为这不应该由窗口本身决定,而是由一些业务规则验证对象决定。

使用 WPF 很自然地使用 MVVM 模式,因此验证可以在 ViewModel 或专用验证类中完成。应该决定是否应该打开一个窗口。

如果不满足打开条件,这种方法可以避免实例化、打开和最终关闭一个完全不需要的窗口。

于 2012-06-28T15:05:51.767 回答
0

在显示窗口之前,最好使用 MVVM 并在 ViewModel 中进行验证。如果 viewModel 中的验证正常,则显示窗口,如果验证有一些错误,则不显示窗口。使用 InitializeComponent() 为时已晚,无法确定打开和关闭窗口。

于 2012-06-28T15:57:49.320 回答