From 4ea528643e8c23c8cde47d312665c6fe08701d6d Mon Sep 17 00:00:00 2001 From: adrianknight89 Date: Wed, 28 Dec 2016 17:15:45 -0600 Subject: fix nre when changing content in datepickerselected (#494) --- .../Bugzilla38723.cs | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla38723.cs (limited to 'Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla38723.cs') diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla38723.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla38723.cs new file mode 100644 index 00000000..2defadec --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla38723.cs @@ -0,0 +1,58 @@ +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, 38723, "Update Content in Picker's SelectedIndexChanged event causes NullReferenceException", PlatformAffected.iOS)] + public class Bugzilla38723 : TestContentPage // or TestMasterDetailPage, etc ... + { + Picker _datePicker; + Label _dateLabel; + + protected override void Init() + { + _datePicker = new Picker + { + //HorizontalOptions = LayoutOptions.FillAndExpand, + VerticalOptions = LayoutOptions.Center, + Title = "Pick a Date", + }; + _datePicker.SelectedIndexChanged += DatePickerSelected; + + for (var i = 0; i < 7; i++) + { + _datePicker.Items.Add(DateTime.Now.AddDays(i).ToString("dd, MMM, yyyy(dddd)")); + } + + var stackLayout = new StackLayout + { + Padding = new Thickness(10, 10) + }; + + _dateLabel = new Label + { + HorizontalOptions = LayoutOptions.StartAndExpand, + VerticalOptions = LayoutOptions.Center, + Text = "Placeholder" + }; + + stackLayout.Children.Add(_datePicker); + stackLayout.Children.Add(_dateLabel); + // Update current page's UI would cause NullReferenceException + Content = stackLayout; + } + + void DatePickerSelected(object sender, EventArgs args) + { + _dateLabel.Text = args.ToString(); + Content = _dateLabel; + } + } +} \ No newline at end of file -- cgit v1.2.3