summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Controls/GalleryPages/GridGallery.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Controls/GalleryPages/GridGallery.cs')
-rw-r--r--Xamarin.Forms.Controls/GalleryPages/GridGallery.cs174
1 files changed, 174 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls/GalleryPages/GridGallery.cs b/Xamarin.Forms.Controls/GalleryPages/GridGallery.cs
new file mode 100644
index 00000000..d786a81b
--- /dev/null
+++ b/Xamarin.Forms.Controls/GalleryPages/GridGallery.cs
@@ -0,0 +1,174 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Xamarin.Forms.Controls
+{
+
+ public class GridGallery : ContentPage
+ {
+ public GridGallery ()
+ {
+ var layout = new StackLayout {
+ Orientation = StackOrientation.Vertical
+ };
+
+ //ColumnTypes
+ layout.Children.Add (new Label { Text = "Column Types:" });
+ var grid = new Grid {
+ ColumnDefinitions = {
+ new ColumnDefinition { Width = 80 },
+ new ColumnDefinition (),
+ new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) }
+ },
+ BackgroundColor = Color.FromRgb (0xee, 0xee, 0xee)
+ };
+
+ grid.Children.Add (new Label {
+ Text = "Absolute Width",
+ BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc),
+ }, 0, 0);
+ grid.Children.Add (new Label {
+ Text = "Auto Width",
+ BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc),
+ }, 1, 0);
+ grid.Children.Add (new Label {
+ Text = "Star",
+ BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc),
+ }, 2, 0);
+ layout.Children.Add (grid);
+
+ //Star
+ layout.Children.Add (new Label { Text = "Star Columns:" });
+ grid = new Grid {
+ ColumnDefinitions = {
+ new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) },
+ new ColumnDefinition { Width = new GridLength (2, GridUnitType.Star) },
+ new ColumnDefinition { Width = new GridLength (3, GridUnitType.Star) },
+ },
+ BackgroundColor = Color.FromRgb (0xee, 0xee, 0xee),
+ ColumnSpacing = 0,
+ RowSpacing = 0,
+ };
+
+ grid.Children.Add (new Label {
+ Text = "*",
+ BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc),
+ }, 0, 0);
+ grid.Children.Add (new Label {
+ Text = "**",
+ BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc),
+ }, 1, 0);
+ grid.Children.Add (new Label {
+ Text = "***",
+ BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc),
+ }, 2, 0);
+ layout.Children.Add (grid);
+
+ //Alignment
+ layout.Children.Add (new Label { Text = "Alignment:" });
+ grid = new Grid {
+ ColumnDefinitions = {
+ new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) },
+ new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) },
+ new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) },
+ new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) },
+ },
+ BackgroundColor = Color.FromRgb (0xee, 0xee, 0xee)
+ };
+
+ grid.Children.Add (new Label {
+ Text = "Right",
+ BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc),
+ HorizontalOptions = LayoutOptions.End,
+ }, 0, 0);
+ grid.Children.Add (new Label {
+ Text = "Center",
+ BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc),
+ HorizontalOptions = LayoutOptions.Center,
+
+ }, 1, 0);
+ grid.Children.Add (new Label {
+ Text = "Left",
+ BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc),
+ HorizontalOptions = LayoutOptions.Start,
+ }, 2, 0);
+ grid.Children.Add (new Label {
+ Text = "Fill",
+ BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc),
+ HorizontalOptions = LayoutOptions.Fill,
+ }, 3, 0);
+ layout.Children.Add (grid);
+
+ //Spanning
+ layout.Children.Add (new Label { Text = "Spans:" });
+ grid = new Grid {
+ ColumnDefinitions = {
+ new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) },
+ new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) },
+ new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) },
+ new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) },
+ new ColumnDefinition { Width = new GridLength (1, GridUnitType.Star) },
+ },
+ BackgroundColor = Color.FromRgb (0xee, 0xee, 0xee),
+ ColumnSpacing = 0,
+ RowSpacing = 0
+ };
+
+ for (var i=0;i<5;i++)
+ for (var j=0;j<5;j++)
+ grid.Children.Add (new Label {
+ Text = "Unit",
+ BackgroundColor = Color.FromRgb (0xcc, 0xcc, 0xcc),
+ }, i, j);
+
+
+ grid.Children.Add (new Label {
+ Text = "Spanning 4 columns",
+ BackgroundColor = Color.Red,
+ }, 0,4,0,1);
+ grid.Children.Add (new Label {
+ Text = "Spanning 3 rows",
+ BackgroundColor = Color.Gray,
+ }, 4,5, 0,3);
+ grid.Children.Add (new Label {
+ Text = "a block 3x3",
+ BackgroundColor = Color.Green,
+ }, 1,4,1,4);
+ layout.Children.Add (grid);
+
+
+ //Change Width
+ var col0 = new ColumnDefinition { Width = 40 };
+ var col1 = new ColumnDefinition { Width = 80 };
+
+ grid = new Grid {
+ ColumnDefinitions = new ColumnDefinitionCollection {
+ col0, col1
+ }
+ };
+
+ grid.Children.Add (new BoxView { BackgroundColor = Color.Red });
+ grid.Children.Add (new BoxView { BackgroundColor = Color.Blue },1,0);
+
+ layout.Children.Add (grid);
+ layout.Children.Add (new Button {
+ Text = "ChangeWidth",
+ Command = new Command (()=>{
+ var t = col0.Width;
+ col0.Width = col1.Width;
+ col1.Width = t;
+ })
+ });
+
+ Content = new ScrollView {
+ Content = layout,
+ };
+
+
+
+ }
+ }
+}