У меня есть DataWindow (MyWindow) с кнопками «ОК» и «Применить». Внутри этого DataWindow есть вид (MyView). Для обоих MyWindow и MyView я переопределен GetViewModelType() следующим образом:Catel DataWindow OK кнопка не закрывает вид
protected override Type GetViewModelType()
{
return typeof(MyViewModel);
}
Я также MyViewModel зарегистрирован MyWindow через UIVisualizerService:
_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, хотя метод Save() вызывается и base.Save() возвращает «true», окно не закрывается.
Если я открываю MyWindow использованием,
new MyWindow().ShowDialog();
'ОК' кнопка работает.
Я что-то пропущу или что-то не так? Применить и Отмена Кнопки работают на 100%
EDIT: Я просто заметил, что-то, используя Show()
не закрывает окно, когда ОК щелкнул (как сказано выше), НО ShowDialog()
делает.
Это правильно?
Если вы считаете, что обнаружили ошибку, пожалуйста, поднимите билет в официальном журнале: http://www.catelproject.com/support/issue-tracker –
Привет, Герт. Я загрузил проблему по запросу. – pjdupreez