summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla22401.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla22401.cs')
-rw-r--r--Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla22401.cs114
1 files changed, 114 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla22401.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla22401.cs
new file mode 100644
index 00000000..c19b3c92
--- /dev/null
+++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla22401.cs
@@ -0,0 +1,114 @@
+using System.Collections.Generic;
+using System.Linq;
+
+using Xamarin.Forms.CustomAttributes;
+
+namespace Xamarin.Forms.Controls.TestCasesPages
+{
+ [Preserve (AllMembers=true)]
+ [Issue (IssueTracker.Bugzilla, 22401, "MasterDetailPage detail width broken when landscape", PlatformAffected.iOS, NavigationBehavior.PushAsync)]
+ public class Bugzilla22401 : MasterDetailPage
+ {
+ public Bugzilla22401()
+ {
+ List<Person> people = GetDemoData ();
+
+ // Create the ListView.
+ var listView = new ListView {
+ // Source of data items.
+ ItemsSource = people,
+
+ // Define template for displaying each item.
+ // (Argument of DataTemplate constructor is called for
+ // each item; it must return a Cell derivative.)
+ ItemTemplate = new DataTemplate (() => {
+ // Create views with bindings for displaying each property.
+ Label nameLabel = new Label();
+ nameLabel.SetBinding (Label.TextProperty, "Name");
+
+ // Return an assembled ViewCell.
+ return new ViewCell {
+ View = new StackLayout {
+ Padding = new Thickness(0, 5),
+ Orientation = StackOrientation.Horizontal,
+ Children = {
+ new StackLayout {
+ VerticalOptions = LayoutOptions.Center,
+ Spacing = 0,
+ Children = {
+ nameLabel
+ }
+ }
+ }
+ }
+ };
+ })
+ };
+
+ Master = new ContentPage { Title = "master", Icon = "menuIcon.png", Content = listView };
+
+ listView.ItemSelected += (sender, e) => {
+ Detail = CreateDetailPage (string.Format("Page {0}", (e.SelectedItem as Person).Name));
+ IsPresented = false;
+ };
+ listView.SelectedItem = people.First ();
+ }
+
+ static List<Person> GetDemoData()
+ {
+ List<Person> people = new List<Person> {
+ new Person("Abigail"),
+ new Person("Bob"),
+ new Person("Cathy"),
+ new Person("David"),
+ new Person("Eugenie"),
+ new Person("Freddie"),
+ new Person("Greta"),
+ new Person("Harold"),
+ new Person("Irene"),
+ new Person("Jonathan"),
+ new Person("Kathy"),
+ new Person("Larry"),
+ new Person("Monica"),
+ new Person("Nick"),
+ new Person("Olive"),
+ new Person("Pendletonlow"),
+ new Person("Queenie"),
+ new Person("Rob"),
+ new Person("Sally"),
+ new Person("Timothy"),
+ new Person("Uma"),
+ new Person("Victor"),
+ new Person("Wendy"),
+ new Person("Xavier"),
+ new Person("Yvonne"),
+ new Person("Zachary"),
+ };
+ return people;
+ }
+
+ static Page CreateDetailPage(string text)
+ {
+ var page = new ContentPage {
+ Title = text,
+ Content = new StackLayout {
+ Children = {
+ new Label {
+ Text = text,
+ VerticalOptions = LayoutOptions.CenterAndExpand,
+ HorizontalOptions = LayoutOptions.CenterAndExpand,
+ }
+ }
+ }
+ };
+
+ var tbiBank = new ToolbarItem { Command = new Command (() => { }), Icon = "bank.png" };
+ var tbiCalc = new ToolbarItem { Command = new Command (() => { }), Icon = "calculator.png" };
+
+ page.ToolbarItems.Add (tbiBank);
+ page.ToolbarItems.Add (tbiCalc);
+
+ return new NavigationPage (page);
+ }
+ }
+} \ No newline at end of file