У меня возникли проблемы с попыткой показать диалог. IUIViusalizerService ShowDialog() метод дает следующие ошибки:Catel IUIViusalizerService ShowDialog() error
ошибка: «Метод„Показать“не найден„“MyView
отладчик бежит UIVisualizerService.cs к описанному ниже методу (начало на линии 380 в CS-файл):
protected virtual bool? ShowWindow(FrameworkElement window, bool showModal)
{
if (showModal)
{
var showDialogMethodInfo = window.GetType().GetMethodEx("ShowDialog");
if (showDialogMethodInfo != null)
{
// Child window does not have a ShowDialog, so not null is allowed
return showDialogMethodInfo.Invoke(window, null) as bool?;
}
Log.Warning("Method 'ShowDialog' not found on '{0}', falling back to 'Show'", window.GetType().Name);
}
var showMethodInfo = window.GetType().GetMethodEx("Show");
if (showMethodInfo == null)
{
string error = string.Format("Method 'Show' not found on '{0}', cannot show the window", window.GetType().Name);
Log.Error(error);
throw new NotSupportedException(error);
}
showMethodInfo.Invoke(window, null);
return null;
}
Мой телефонный код:
public MainWindowViewModel()
{
ViewModels.MyViewModel mv = new MyViewModel();
var ui = GetService<IUIVisualizerService>();
ui.ShowDialog(mv)
}
Вопросы: 1. Я должен impliment "Отображать()" метамфетамин в коде позади? 2. Есть ли другой базовый класс для DialogView и/или DialogViewModel, который должен использоваться?
Я начал иметь эту проблему с Catel 3,6
Спасибо
1. № 2. Диалоговое представление/режимы просмотра должны наследоваться от Catel.Windows.DataWindow. –