Benötige Hilfe beim Wizard

Eigener Bereich für die Entwickler unter uns! Add-Ins, aber auch andere Programme.
Antworten
DaBus
Foren-Mitglied
Beiträge: 150
Registriert: 16. Feb 2008, 12:26
Kontaktdaten:

Benötige Hilfe beim Wizard

Beitrag von DaBus »

Hallo zusammen,

ich habe mal eine Frage bezgl. des Wizards.
Zur Ausgangssituation:
Ich habe mir das Beispiel WizardSample AddIn angesehen und in mein Add-In erstmal soweit übernommen.
Mein Wizard soll 5 Pages haben, wo ich ein Objekt aber durchgängig benötige und hier alle Settings die gemacht werden reinschreibe oder aber mit den Werten schon die Werte der Controls setze.

Ich habe bisher keine vernünftige Möglichkeit gefunden, das Objekt an die nächste Seite weiter zureichen. Gefunden habe ich die Eigenschaft ((MyWizard)ParentWizard).CurrentSubject welches vom Typ "object" ist und alles schluckt.
Wenn ich dieses auf Seite 2 befülle ist alles schön, navigiere ich zu Seite 3 und frage es im Load ab, dann ist das komplette Objekt null. Bei onBack oder onOK, also beim navigieren ist es jedoch wieder vorhanden. Welches Event nehme ich denn, wenn ich auf Seite 3 auf bereits getätige Settings zugreifen möchte? Hat das schon mal jemand gemacht?
Denkfehler?

Danke und Gruß
Daniel
Benutzeravatar
AliG
Moderator
Beiträge: 3727
Registriert: 6. Jun 2007, 17:33
Wohnort: Salzburg, Österreich

Re: Benötige Hilfe beim Wizard

Beitrag von AliG »

Hi!

Welches Beispiel WizardSample-Addin hast du dir genau angesehen?

Anstatt CurrentSubject kannst du mal CurrentParameter1 probieren, ansonsten würde ich auf die Eigenschaft schon im Konstruktor der WizardPage zugreifen und an den Konstruktor des UserControls, das auf der Page angezeigt wird, übergeben.

lg Alex
Mache ich etwas richtig, merkt es keiner. Mache ich etwas falsch, vergisst es keiner. :D

Mein WHS
DaBus
Foren-Mitglied
Beiträge: 150
Registriert: 16. Feb 2008, 12:26
Kontaktdaten:

Re: Benötige Hilfe beim Wizard

Beitrag von DaBus »

Hallo Alex,

ich nutze das Beispiel von homeserverland.com.
Das mit dem CurrentParameter1 war ein Versuch wert, liefert aber dasselbe Ergebnis.

Ja das mit dem Konstruktor ist so ne Sache :) Dasselbe hatte ich mir auch gedacht, allerdings sehe ich da nicht so wirklich durch.
Ich mache einen überladenen Konstruktor für meinen Wizard:

Code: Alles auswählen

 public MyWizard(CustomListViewItem listitem) {
            InitializeComponent();
            Init();
            
            SetTypes(new [] {
                typeof(WizardPageHost<MyWizardPage1Welcome>),
                typeof(WizardPageHost<MyWizardPage2AddFolder>),
                typeof(WizardPageHost<MyWizardPage3Email>),
                typeof(WizardPageHost<MyWizardPage4RunExecutable>),
                typeof(WizardPageHost<MyWizardPage5Finish>)
                });

            CurrentSubject = listitem;
            CurrentParameter1 = listitem;
        }
Hier werden die Pages, die später verfügbar sein sollen gesetzt. Allerdings werden ja hier keine neuen Instanzen erzeugt, sondern nur die Typen der jeweiligen Pages bekannt gemacht, somit habe ich hier keinen Konstruktor für die Page selbst, wo ich mein listitem übergeben kann.
Das Objekt WizardPageBaseHost hatte durch das Beispiel bereit den Konstruktor

Code: Alles auswählen

public WizardPageHost(Wizard parentWizard, object currentSubject, object currentParameter) {
wobei hier die beiden Objekte nicht weggeschrieben werden. Also habe ich die auch in eine Variable der Klasse gepackt.
Die erste Page bzw. das eigentliche Control hat einen überladenen Konstruktor aber der kann auch nirgends verwendet werden, da ja nirgends eine wirklich neue Instanz erstellt wird.

Code: Alles auswählen

public MyWizardPage1Welcome(string teststr)
        {
            InitializeComponent();
        }
Also ehrlich gesagt finde ich den ganzen Aufwand für einen kleinen Dialog wahnsinnig oder ich sehe hier einfach nicht durch oder denke falsch. Keine Ahnung aber ich krieg es nicht gebacken. Ist ja schlimm heute^^

Danke dir jedenfalls erstmal. Werde noch ein bisschen suchen, mal sehen. Manchmal reicht es ja, einfach drüber zu reden und die Lösung kommt von ganz allein - was ich in diesem Augenblick jedoch bezweifel :)

Gruß Daniel
DaBus
Foren-Mitglied
Beiträge: 150
Registriert: 16. Feb 2008, 12:26
Kontaktdaten:

Re: Benötige Hilfe beim Wizard

Beitrag von DaBus »

ahhhhh...

ich glaube nun hat es bei mir klick gemacht und ich habe es verstanden. Hatte hier nochmal die Suche angeworfen und deine Nachricht zum Beispiel vom RouterControl gefunden. Wir hatten das Thema ja schonmal ;)

Gut dann kann ich ja heute Abend metern.

Danke und Gruß
Daniel
Benutzeravatar
AliG
Moderator
Beiträge: 3727
Registriert: 6. Jun 2007, 17:33
Wohnort: Salzburg, Österreich

Re: Benötige Hilfe beim Wizard

Beitrag von AliG »

Hi!

Schön, wenn du es hingebracht hast ;)

Habe mal mein Wizard-Beispielprojekt auch angehängt, das erklärt es ja eigentlich ganz schön!

lg Alex
Dateianhänge
WizardTest.rar
(1.13 MiB) 179-mal heruntergeladen
Mache ich etwas richtig, merkt es keiner. Mache ich etwas falsch, vergisst es keiner. :D

Mein WHS
Antworten