2017-06-02 6 views
1

Ich habe einen Assistenten mit 4 Seiten mit Orc.Wizard erstellt. Wenn ich versuche, zur 2. Seite zu navigieren, kann der viewModelLocator im WizardPageSelectionBehavior das ViewModel, das der WizardPage zugeordnet ist, nicht auflösen.Catel Orc.Wizard Resolving Seiten

Ich habe alle meine Assistenten Viewmodels benannt, Assistentenseiten und Assistent Ansichten auf die gleiche Weise:

Seite 0 wird die folgenden Klassen:

DatConfigWizardPageViewModel DatConfigWizardPageView DatConfigWizardPage

Seite 1:

LoadOptionsWizardPageViewModel LoadOptionsWizardPageView LoadOptionsWizardPage

Ich habe 2 andere Seiten, aber es ist nur die 2. Seite, die das ViewModel, das mit der Assistentenseite verknüpft ist, nicht auflösen kann. Hat jemand irgendwelche Vorschläge, um herauszufinden, warum dies geschieht und wie man es löst?

Antwort

0

Sie können die Debug-Protokollierung für Catel bei Ihrer Anwendung Start aktivieren:

LogManager.AddDebugLogListener();

Dann haben Sie sehr detaillierte Informationen, warum der Typ nicht gelöst werden können, und/oder konstruiert.

Einige mögliche Optionen:

  1. Sicherstellen, dass der Konstruktor public ist (wird in der Debug-Protokollierung angezeigt, wenn dies nicht der Fall ist)
  2. die injizierten Typen innerhalb des Konstruktors Stellen Sie sicher registriert werden der ServiceLocator (wird in der Debugprotokollierung angezeigt, wenn dies nicht der Fall ist)
  3. Es könnte irgendwo einen Tippfehler geben, aber ich habe Ihre Namen in diesem Ticket überprüft und sie scheinen korrekt zu sein.
+0

Danke. Ich habe den Aufruf zu LogManager.AddDebugLogListener() hinzugefügt; Ich bekomme jedoch nur abgekürzte Protokollierung von den Komponenten in der Orc.Wizard-Bibliothek. Hier sehen Sie, wie das aussieht. 09: 07: 38: 769 => [DEBUG] [Orc.Wizard.WizardBase] [8] Hinzufügen der Seite 'DesktopTool.Wizards.Models.DatFileConfigWizardPage' zum Index '0' 09: 07: 38: 952 => [DEBUG] [Orc.Wizard.WizardBase] [8] Hinzufügen der Seite 'DesktopTool.Wizards.Models.OptsWizardPage' zum Indexieren von '1' –

+0

Stellen Sie sicher, dass "ignoreCatelLogging" auf * false * gesetzt ist. –

+1

Ja, habe ich getan. Ich habe das Problem gelöst, aber ich verstehe immer noch nicht wirklich warum (hat den Code-Code nicht genug durchgespielt, um es herauszufinden). Ich habe gerade neue Klassen und sie OptsWizardPage OptsWizardPageView OptsWizardPageViewModel Die Modelle jetzt richtig lösen Ansicht genannt. Ich werde mit den alten Namen nachgehen, aber angesichts der Namenskonventionen konnte ich keinen offensichtlichen Grund sehen, warum es nicht funktionierte. BTW, Catel hat wirklich ein paar nette Features. Wirklich nette Arbeit damit insgesamt. –