Just wanted to drop in and lay down some praise for this tutorial.
My balls: rocked.
I also wanted to chime in and say that I too was able to extend the Wizard.UI to incorperate a SECOND list to track the history of pages 'visited'. OnSetActive, it checks to see if the name is already in the history (list of strings), and if not it adds it. OnBack, it removes the last string from the list and passes the PREVIOUS string to e.nextPage.
Unfortunately, because the event handelers are in the Page class and the lists are keeped in the Sheet class, I had to pass reference to the parent sheet down to each page so that the handlers could access the list. Ugh, gross. While it may be terrible design, at least it works!
One question:
The above method MiddlePage_WizardNext in MiddlePage (or any inherited page) doesn't work for me (Visual Studio 2005). The code in this function is never executed, even though OnWizardNext runs fine, and calls the generic version of the event: WizardNext. Did anybody have this problem, and if so, how is it resolved. I'm no event expert, but I read (while trying to debug) that the events have to be registered with the object that triggers them with the += operator.
I solved (???) the problem by straight overriding the OnWizardNext function in MiddlePage and putting my logic in there. It works, but ugh....
Anyway, thanks for the great article.
-DW
Just wanted to drop in and