diff options
author | David Ortinau <david.ortinau@microsoft.com> | 2017-06-20 13:12:17 -0500 |
---|---|---|
committer | kingces95 <kingces95@users.noreply.github.com> | 2017-06-20 14:12:17 -0400 |
commit | 723cb80c6b0eaa587f00fc6ba38dcd1887e6943d (patch) | |
tree | a9748509e9c67ac7ee69269c6564c97d0c901627 /Xamarin.Forms.Controls.Issues | |
parent | ec75b998fa75868f7c36f78043ad4ec156da94e2 (diff) | |
download | xamarin-forms-723cb80c6b0eaa587f00fc6ba38dcd1887e6943d.tar.gz xamarin-forms-723cb80c6b0eaa587f00fc6ba38dcd1887e6943d.tar.bz2 xamarin-forms-723cb80c6b0eaa587f00fc6ba38dcd1887e6943d.zip |
[iOS] Proxy UITableViewCell SelectionStyle when wrapped (#1002)
* making sure the UITableViewCell SelectionStyle proxies up when wrapped in ContextActionCell and with recycling mode
* corrected coding style, tabs instead of spaces. Removed stub for UITest.
Diffstat (limited to 'Xamarin.Forms.Controls.Issues')
2 files changed, 71 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla52700.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla52700.cs new file mode 100644 index 00000000..6415912f --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla52700.cs @@ -0,0 +1,70 @@ +using System; +using System.Collections.ObjectModel; +using System.Linq; +using Xamarin.Forms.CustomAttributes; +using Xamarin.Forms.Internals; +#if UITEST +using Xamarin.UITest; +using NUnit.Framework; +#endif + +namespace Xamarin.Forms.Controls.Issues +{ + [Preserve (AllMembers = true)] + [Issue (IssueTracker.Bugzilla, 52700, "[iOS] Recycled cell should respect selection style set to none", PlatformAffected.iOS)] + public class Bugzilla52700 : TestContentPage // or TestMasterDetailPage, etc ... + { + const string Instructions = "On iOS, all three of the following ListViews should not change background color upon selection. If the background of the row changes color, this test fails."; + const string ListView1 = "Custom Cell with Context Actions"; + const string ListView2 = "Custom Cell + RecycleElement"; + const string ListView3 = "Custom Cell + RetainElement"; + + public class NoSelectionViewCell : ViewCell + { + public Label label { get; set; } + + public NoSelectionViewCell () + { + label = new Label (); + label.SetBinding (Label.TextProperty, "."); + View = label; + } + } + + public class NoSelectionViewCellWithContextActions : NoSelectionViewCell + { + public NoSelectionViewCellWithContextActions () + { + label = new Label (); + label.SetBinding (Label.TextProperty, "."); + View = label; + + var delete = new MenuItem { Text = "Delete" }; + ContextActions.Add (delete); + } + } + + protected override void Init () + { + var label = new Label { Text = Instructions }; + var selectionLabel = new Label { Text = "<< THIS changes when row selected >>" }; + var listView = new ListView { ItemTemplate = new DataTemplate (typeof (NoSelectionViewCellWithContextActions)), ItemsSource = Enumerable.Range (0, 9), Header = ListView1 }; + var listView2 = new ListView (ListViewCachingStrategy.RecycleElement) { ItemTemplate = new DataTemplate (typeof (NoSelectionViewCell)), ItemsSource = Enumerable.Range (10, 19), Header = ListView2 }; + var listView3 = new ListView { ItemTemplate = new DataTemplate (typeof (NoSelectionViewCell)), ItemsSource = Enumerable.Range (20, 29), Header = ListView3 }; + + listView.ItemSelected += (sender, e) => { + selectionLabel.Text = DateTime.Now.ToLocalTime ().ToString (); + }; + + listView2.ItemSelected += (sender, e) => { + selectionLabel.Text = DateTime.Now.ToLocalTime ().ToString (); + }; + + listView3.ItemSelected += (sender, e) => { + selectionLabel.Text = DateTime.Now.ToLocalTime ().ToString (); + }; + + Content = new StackLayout { Children = { label, selectionLabel, listView, listView2, listView3 } }; + } + } +} 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 61ca0a95..5d2cd7b2 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 @@ -569,6 +569,7 @@ <Compile Include="$(MSBuildThisFileDirectory)Bugzilla42956.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Bugzilla38731.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Bugzilla56710.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Bugzilla52700.cs" /> </ItemGroup> <ItemGroup> <EmbeddedResource Include="$(MSBuildThisFileDirectory)Bugzilla22229.xaml"> |