Catel DataWindow确定按钮不关闭视图

时间:2014-11-04 08:17:20

标签: catel

我有一个带有OK取消和应用按钮的DataWindow(MyWindow)。在这个DataWindow中是一个View(MyView)。对于MyWindow和MyView,我已经覆盖了GetViewModelType(),如下所示:

protected override Type GetViewModelType()
        {
            return typeof(MyViewModel);
        }

我也通过UIVisualizerService向MyWindow注册了MyViewModel:

_uiVisualizerService.Register(typeof(MyViewModel), typeof(MyWindow));

在MyViewModel上,我重写了ViewModelBase.Save():

protected override bool Save()
{
    if (HasErrors)
        return false;

    MyModel.SaveChanges();

    return base.Save();
}

我用它来显示MyWindow:

var myViewModel = TypeFactory.Default.CreateInstanceWithParametersAndAutoCompletion<MyViewModel>();
            _uiVisualizerService.Show(myViewModel);

但是当我点击MyWindow的'OK'按钮时,虽然调用了Save()方法并且base.Save()返回'true',但Window并未关闭。

如果我使用

打开MyWindow
new MyWindow().ShowDialog();

“确定”按钮有效。

我错过了什么或做错了什么? “应用”和“取消”按钮可以100%运行

修改 我刚注意到一些事情,使用Show()在单击OK时不关闭窗口(如上所述)但是ShowDialog()

这是对的吗?

1 个答案:

答案 0 :(得分:1)

通过更新到Catel v4.0修复了问题。