diff options
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" /> |