验证时WPF关闭窗口在窗口加载时失败

时间:2012-06-28 14:50:55

标签: wpf initialization

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

2 个答案:

答案 0 :(得分:3)

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

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

使用WPF,使用MVVM模式很自然,因此可以通过ViewModel或奉献验证类进行验证。应该决定是否应该打开一个窗口。

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

答案 1 :(得分:0)

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