private async Task GoToPreviousState(ActionWrapper onsuccess)
{
Debug.WriteLine("Going back");
var reg = RegionForCurrentWindow as IHasStates;
//var win = Window.Current.CoreWindow;
//var regId = (from r in RegionWindows
// where r.Value == win
// select r.Key).FirstOrDefault();
//if (regId != null)
//{
// var reg = RegionManager.RegionById(regId) as IHasStates;
if (reg?.StateManager.PreviousStateExists ?? false)
{
onsuccess.InvokeAction();
if (!(reg?.StateManager.GoToPreviousStateIsBlocked ?? false))
{
await reg.StateManager.GoBackToPreviousState();
}
return;
}
//}
//var gb = GoBackViewModel;
//if (gb != null)
//{
// var cancel = new CancelEventArgs();
// await GoBackViewModel.GoingBack(cancel);
// if (cancel.Cancel)
// {
// e.Handled = true;
// return;
// }
//}
//e.Handled = true;
//if (Frame.CanGoBack)
//{
// Frame.GoBack();
//}
}