|
using System.Threading;
using WizardLibrary;
using MVVMSample1.ViewModel.WizardContent.WizardData;
using GalaSoft.MvvmLight.Threading;
namespace MVVMSample1.ViewModel.CustomWizards
{
public class AdvancedWizard:DerivedWizard
{
public AdvancedWizard()
{
Title = "Advanced Wizard Title";
}
private bool isBusy;
public bool IsBusy
{
get { return isBusy; }
set
{
if (IsBusy == value)
return;
isBusy = value;
NotifyPropertyChanged("IsBusy");
}
}
public override void Next()
{
//do some async work
Thread th = new Thread((ThreadStart)(() =>
{
Thread.Sleep(4000);
//process the data (set up the next step)
DispatcherHelper.UIDispatcher.BeginInvoke(() =>
{
int idx = Steps.IndexOf(CurrentStep);
if (idx < Steps.Count)
{//set the content for the next step
WizardStep vm = Steps[idx + 1];
if (idx == 0)
{
vm.Content = new SecondPageViewModel();
}
else if (idx == 1)
{
vm.Content = new ThirdPageViewModel();
}
}
IsBusy = false;
//call base version to move to the next step
base.Next();
});
}));
th.IsBackground = true;
th.Start();
IsBusy = true;
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.