diff options
author | Samantha Houts <samantha.houts@xamarin.com> | 2016-03-30 14:43:50 -0700 |
---|---|---|
committer | Samantha Houts <samantha.houts@xamarin.com> | 2016-04-01 11:14:27 -0700 |
commit | bba74db5dcf425c2d45a8128da15f5f616b78677 (patch) | |
tree | 907ecba85fc04b16907ed3d29aab691414d8dc6a /Xamarin.Forms.Controls.Issues | |
parent | 39787d31aa4c5d2d3d13b9656cb929e03fc88e04 (diff) | |
download | xamarin-forms-bba74db5dcf425c2d45a8128da15f5f616b78677.tar.gz xamarin-forms-bba74db5dcf425c2d45a8128da15f5f616b78677.tar.bz2 xamarin-forms-bba74db5dcf425c2d45a8128da15f5f616b78677.zip |
[W] Setting CurrentPage in CarouselPage ctor works
Diffstat (limited to 'Xamarin.Forms.Controls.Issues')
2 files changed, 85 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla39458.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla39458.cs new file mode 100644 index 00000000..f24344ee --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla39458.cs @@ -0,0 +1,84 @@ +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, 39458, "[UWP/WinRT] Cannot Set CarouselPage.CurrentPage Inside Constructor", PlatformAffected.WinRT)] + public class Bugzilla39458 : TestCarouselPage + { + public class ChildPage : ContentPage + { + public ChildPage(int pageNumber) + { + var layout = new StackLayout(); + var MyLabel = new Label { + VerticalOptions = LayoutOptions.Center, + HorizontalOptions = LayoutOptions.Center, + FontSize = 21, + TextColor = Color.White, + Text = $"This is page {pageNumber}" + }; + var TestBtn = new Button { + Text = "Go to Page 2", + IsEnabled = false, + BackgroundColor = Color.White + }; + + if (pageNumber != 2) + { + TestBtn.IsEnabled = true; + TestBtn.Clicked += TestBtn_Clicked; + } + + layout.Children.Add(MyLabel); + layout.Children.Add(TestBtn); + Content = layout; + } + + private void TestBtn_Clicked(object sender, EventArgs e) + { + var carousel = Application.Current.MainPage as CarouselPage; + carousel.CurrentPage = carousel.Children[1]; + } + } + + public class DesiredPage : ChildPage + { + public DesiredPage(int pageNumber) : base(pageNumber) + { + } + } + + protected override void Init() + { + var firstPage = new ChildPage(1); + firstPage.BackgroundColor = Color.Blue; + Children.Add(firstPage); + + var secondPage = new DesiredPage(2); + secondPage.BackgroundColor = Color.Red; + Children.Add(secondPage); + + var thirdPage = new ChildPage(3); + thirdPage.BackgroundColor = Color.Green; + Children.Add(thirdPage); + + CurrentPage = secondPage; + } + +#if UITEST + [Test] + public void Bugzilla39458Test() + { + RunningApp.WaitForElement(q => q.Marked("This is page 2")); + } +#endif + } +} diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems index 19376535..65ec549a 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems @@ -133,6 +133,7 @@ <Compile Include="$(MSBuildThisFileDirectory)Bugzilla39499.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Bugzilla39668.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Bugzilla39829.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Bugzilla39458.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Bugzilla39853.cs" /> <Compile Include="$(MSBuildThisFileDirectory)_Template.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Issue1028.cs" /> |