diff options
author | Jason Smith <jason.smith@xamarin.com> | 2016-03-22 13:02:25 -0700 |
---|---|---|
committer | Jason Smith <jason.smith@xamarin.com> | 2016-03-22 16:13:41 -0700 |
commit | 17fdde66d94155fc62a034fa6658995bef6fd6e5 (patch) | |
tree | b5e5073a2a7b15cdbe826faa5c763e270a505729 /Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla30324.cs | |
download | xamarin-forms-17fdde66d94155fc62a034fa6658995bef6fd6e5.tar.gz xamarin-forms-17fdde66d94155fc62a034fa6658995bef6fd6e5.tar.bz2 xamarin-forms-17fdde66d94155fc62a034fa6658995bef6fd6e5.zip |
Initial import
Diffstat (limited to 'Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla30324.cs')
-rw-r--r-- | Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla30324.cs | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla30324.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla30324.cs new file mode 100644 index 00000000..1356ffa7 --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla30324.cs @@ -0,0 +1,97 @@ +using System; +using Xamarin.Forms.CustomAttributes; + +#if UITEST +using Xamarin.UITest; +using NUnit.Framework; +#endif + +namespace Xamarin.Forms.Controls +{ + [Preserve (AllMembers = true)] + [Issue (IssueTracker.Bugzilla, 30324, "Detail view of MasterDetailPage does not get appearance events on Android when whole MasterDetailPage disappears/reappears")] + public class Bugzilla30324 : TestNavigationPage + { + Label _lbl; + int _count; + + protected override void Init () + { + MasterDetailPage page = new MasterDetailPage(); + page.Master = new Page () { Title = "Master", BackgroundColor = Color.Red }; + _lbl = new Label (); + + var otherPage = new ContentPage () { + Title = "Other", + Content = new StackLayout { Children = { + new Button () { + Text = "navigate back", + HorizontalOptions = LayoutOptions.Center, + VerticalOptions = LayoutOptions.Center, + + Command = new Command (() => Navigation.PopAsync()) + } + } + } + }; + + page.Detail = new ContentPage () { + Title = "Detail", + Content = new StackLayout { Children = { + _lbl, + new Button () { + Text = "navigate", + HorizontalOptions = LayoutOptions.Center, + VerticalOptions = LayoutOptions.Center, + + Command = new Command (() => Navigation.PushAsync (otherPage)) + } + } + } + }; + + page.Appearing += (sender, e) => + { + System.Diagnostics.Debug.WriteLine("Appear MDP"); + }; + page.Disappearing += (sender, e) => + { + System.Diagnostics.Debug.WriteLine("Disappear MDP"); + }; + page.Detail.Appearing += (sender, args) => + { + if(_count ==2) + _lbl.Text = "Appear detail"; + System.Diagnostics.Debug.WriteLine("Appear detail"); + }; + page.Detail.Disappearing += (sender, args) => { + System.Diagnostics.Debug.WriteLine ("Disappear detail"); + _lbl.Text = "Disappear detail"; + page.Detail.BackgroundColor = Color.Green; + _count++; + }; + page.Master.Appearing += (sender, e) => + { + System.Diagnostics.Debug.WriteLine("Appear master"); + }; + Navigation.PushAsync (page); + } + + #if UITEST + [Test] + public void Bugzilla30324Test () + { + RunningApp.Tap (q => q.Marked ("navigate")); + RunningApp.Tap (q => q.Marked ("navigate back")); + RunningApp.WaitForElement (q => q.Marked ("Disappear detail")); + RunningApp.Tap (q => q.Marked ("navigate")); + RunningApp.Tap (q => q.Marked ("navigate back")); + RunningApp.WaitForElement (q => q.Marked ("Appear detail")); + } + #endif + } + + +} + + |