summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla39908.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla39908.cs')
-rw-r--r--Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla39908.cs72
1 files changed, 72 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla39908.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla39908.cs
new file mode 100644
index 00000000..d9a620e8
--- /dev/null
+++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla39908.cs
@@ -0,0 +1,72 @@
+using System;
+
+using Xamarin.Forms.CustomAttributes;
+using Xamarin.Forms.Internals;
+
+#if UITEST
+using Xamarin.UITest;
+using NUnit.Framework;
+#endif
+
+namespace Xamarin.Forms.Controls
+{
+ [Preserve(AllMembers = true)]
+ [Issue(IssueTracker.Bugzilla, 39908, " Back button hit quickly results in jumbled pages")]
+ public class Bugzilla39908 : TestContentPage // or TestMasterDetailPage, etc ...
+ {
+ protected override void Init()
+ {
+ var label = "Root Page";
+
+ Title = label;
+ Content = new StackLayout
+ {
+ VerticalOptions = LayoutOptions.Center,
+ Children = {
+ new Label {
+ HorizontalTextAlignment = TextAlignment.Center,
+ Text = label
+ },
+ NewButton ()
+ }
+ };
+ }
+
+
+
+ private Button NewButton()
+ {
+ var newPageButton = new Button();
+ newPageButton.Text = "Another one";
+ newPageButton.Clicked += OnNewPage;
+
+ return newPageButton;
+ }
+
+ private ContentPage NewPage()
+ {
+ var label = Navigation != null ? "Page " + (Navigation.NavigationStack.Count - 1) : "Root Page";
+
+ return new ContentPage
+ {
+ Title = label,
+ Content = new StackLayout
+ {
+ VerticalOptions = LayoutOptions.Center,
+ Children = {
+ new Label {
+ HorizontalTextAlignment = TextAlignment.Center,
+ Text = label
+ },
+ NewButton ()
+ }
+ }
+ };
+ }
+
+ private async void OnNewPage(object sender, EventArgs e)
+ {
+ await Navigation.PushAsync(NewPage());
+ }
+ }
+}