summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core/NavigationPage.cs
diff options
context:
space:
mode:
authorJohan Karlsson <johan.kson@gmail.com>2016-07-11 20:39:11 +0200
committerJason Smith <jason.smith@xamarin.com>2016-07-11 11:39:11 -0700
commit09ff9355326065902e610e4058f7e4ee3160cdaa (patch)
tree164307323b871bc41a4770517f02d9e4b43f8c76 /Xamarin.Forms.Core/NavigationPage.cs
parentf167024ef3a02c199c797b5313342dbe5d9a21de (diff)
downloadxamarin-forms-09ff9355326065902e610e4058f7e4ee3160cdaa.tar.gz
xamarin-forms-09ff9355326065902e610e4058f7e4ee3160cdaa.tar.bz2
xamarin-forms-09ff9355326065902e610e4058f7e4ee3160cdaa.zip
Added PoppedToRootEventArgs to track popped pages when calling PopToRoot (#229)
Diffstat (limited to 'Xamarin.Forms.Core/NavigationPage.cs')
-rw-r--r--Xamarin.Forms.Core/NavigationPage.cs6
1 files changed, 4 insertions, 2 deletions
diff --git a/Xamarin.Forms.Core/NavigationPage.cs b/Xamarin.Forms.Core/NavigationPage.cs
index 85c8ac89..d7fb5f3e 100644
--- a/Xamarin.Forms.Core/NavigationPage.cs
+++ b/Xamarin.Forms.Core/NavigationPage.cs
@@ -319,7 +319,9 @@ namespace Xamarin.Forms
var root = (Page)PageController.InternalChildren.First();
- PageController.InternalChildren.ToArray().Where(c => c != root).ForEach(c => PageController.InternalChildren.Remove(c));
+ var childrenToRemove = PageController.InternalChildren.ToArray().Where(c => c != root);
+ foreach (var child in childrenToRemove)
+ PageController.InternalChildren.Remove(child);
CurrentPage = root;
@@ -335,7 +337,7 @@ namespace Xamarin.Forms
}
if (PoppedToRoot != null)
- PoppedToRoot(this, new NavigationEventArgs(root));
+ PoppedToRoot(this, new PoppedToRootEventArgs(root, childrenToRemove.OfType<Page>().ToList()));
}
async Task PushAsyncInner(Page page, bool animated)