summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Controls.Issues
diff options
context:
space:
mode:
authorSamantha Houts <samantha.houts@xamarin.com>2016-03-30 14:43:50 -0700
committerSamantha Houts <samantha.houts@xamarin.com>2016-04-01 11:14:27 -0700
commitbba74db5dcf425c2d45a8128da15f5f616b78677 (patch)
tree907ecba85fc04b16907ed3d29aab691414d8dc6a /Xamarin.Forms.Controls.Issues
parent39787d31aa4c5d2d3d13b9656cb929e03fc88e04 (diff)
downloadxamarin-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')
-rw-r--r--Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla39458.cs84
-rw-r--r--Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems1
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" />