summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1329.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1329.cs')
-rw-r--r--Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1329.cs46
1 files changed, 46 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1329.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1329.cs
new file mode 100644
index 00000000..b9d133e1
--- /dev/null
+++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue1329.cs
@@ -0,0 +1,46 @@
+
+using System;
+
+using Xamarin.Forms.CustomAttributes;
+
+namespace Xamarin.Forms.Controls
+{
+ [Preserve (AllMembers=true)]
+ [Issue (IssueTracker.Github, 1329, "Losing root page with rapidly pushing and popping", PlatformAffected.Android)]
+ public class Issue1329 : NavigationPage
+ {
+ public Issue1329 () : base (GetPage ("root page"))
+ {
+ var navigation = new NavigationPage (GetPage ("root page"));
+ var pageNum = 0;
+
+ MessagingCenter.Subscribe<Button> (
+ navigation,
+ "PushPage",
+ (sender) => navigation.PushAsync (GetPage ("Page #: " + ++pageNum))
+ );
+
+ navigation.Popped += (sender, e) => {
+ pageNum -= 1;
+ };
+ }
+
+ public static Page GetPage (string name) {
+
+ var button = new Button {
+ Text = name
+ };
+
+ button.Clicked += (sender, e) => MessagingCenter.Send<Button> ((Button)sender, "PushPage");
+
+ var page = new ContentPage {
+ Content = button
+ };
+
+ return page;
+ }
+
+ }
+
+}
+