summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Controls/GalleryPages/CellsGalleries/ViewCellGallery.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Controls/GalleryPages/CellsGalleries/ViewCellGallery.cs')
-rw-r--r--Xamarin.Forms.Controls/GalleryPages/CellsGalleries/ViewCellGallery.cs115
1 files changed, 115 insertions, 0 deletions
diff --git a/Xamarin.Forms.Controls/GalleryPages/CellsGalleries/ViewCellGallery.cs b/Xamarin.Forms.Controls/GalleryPages/CellsGalleries/ViewCellGallery.cs
new file mode 100644
index 00000000..099a786a
--- /dev/null
+++ b/Xamarin.Forms.Controls/GalleryPages/CellsGalleries/ViewCellGallery.cs
@@ -0,0 +1,115 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Xamarin.Forms.Controls
+{
+ public class ViewCellGallery : ContentPage
+ {
+ public ViewCellGallery ()
+ {
+ Title = "ViewCell Gallery - Legacy";
+
+ Content = new TableView {
+ RowHeight = 150,
+ Root = new TableRoot {
+ new TableSection ("Testing") {
+ new ViewCell {View = new ProductCellView ("0")},
+ new ViewCell {View = new ProductCellView ("1")},
+ new ViewCell {View = new ProductCellView ("2")},
+ new ViewCell {View = new ProductCellView ("3")},
+ new ViewCell {View = new ProductCellView ("4")}
+ }
+ }
+ };
+ }
+ }
+
+ public class UrlImageViewCellListPage : ContentPage
+ {
+ public UrlImageViewCellListPage()
+ {
+ Device.OnPlatform (iOS: () => {
+ if (Device.Idiom == TargetIdiom.Tablet) {
+ Padding = new Thickness (0, 0, 0, 60);
+ }
+ });
+
+ var stringToImageSourceConverter = new GenericValueConverter (
+ obj => new UriImageSource() {
+ Uri = new Uri ((string) obj)
+ });
+
+ var dataTemplate = new DataTemplate (() => {
+ var cell = new ViewCell();
+
+ var image = new Image();
+ image.SetBinding (Image.SourceProperty, new Binding ("Image", converter: stringToImageSourceConverter));
+ image.WidthRequest = 160;
+ image.HeightRequest = 160;
+
+ var text = new Label();
+ text.SetBinding (Label.TextProperty, new Binding ("Text"));
+ text.SetBinding (Label.TextColorProperty, new Binding ("TextColor"));
+
+ cell.View = new StackLayout {
+ Orientation = StackOrientation.Horizontal,
+ Children = {
+ image,
+ text
+ }
+ };
+
+ return cell;
+ });
+
+ var albums = new[] {
+ "https://evolve.xamarin.com/images/sessions/joseph-mayo-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/jon-skeet-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/rachel-reese-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/mike-james-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/daniel-cazzulino-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/michael-hutchinson-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/laurent-bugnion-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/craig-dunn-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/charles-petzold-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/jason-smith-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/frank-krueger-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/james-clancey-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/daniel-plaisted-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/jesse-liberty-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/miguel-de-icaza-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/rene-ruppert-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/brent-schooley-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/adrian-stevens-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/rodrigo-kumpera-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/alex-corrado-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/jonathan-pryor-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/michael-stonis-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/jeremie-laval-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/james-montemagno-icon.jpg",
+ "https://evolve.xamarin.com/images/sessions/brett-duncavage-icon.jpg"
+ };
+
+ var label = new Label { Text = "I have not been selected" };
+
+ var listView = new ListView {
+ ItemsSource = Enumerable.Range (0, albums.Length).Select (i => new {
+ Text = "Text " + i,
+ TextColor = i % 2 == 0 ? Color.Red : Color.Blue,
+ Detail = "Detail " + i,
+ DetailColor = i % 2 == 0 ? Color.Red : Color.Blue,
+ Image = albums[i]
+ }),
+ ItemTemplate = dataTemplate
+ };
+
+ listView.ItemSelected += (sender, args) => label.Text = "I was selected";
+
+ Content = new StackLayout { Children = { label, listView } };
+
+ }
+ }
+}