2014-11-04 3 views
0

У меня есть 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() делает.

Это правильно?

+0

Если вы считаете, что обнаружили ошибку, пожалуйста, поднимите билет в официальном журнале: http://www.catelproject.com/support/issue-tracker –

+0

Привет, Герт. Я загрузил проблему по запросу. – pjdupreez

ответ

1

Проблема была устранена путем обновления до версии Catel v4.0.

Смежные вопросы