using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Xamarin.Forms.Controls { public class BackgroundImageGallery : ContentPage { public BackgroundImageGallery () { var contentIntabs = new Button { Text = "Tabbed children" }; contentIntabs.Clicked += async (sender, args) => { await Navigation.PushModalAsync (new TabbedPage { ItemTemplate = new DataTemplate (() => { var page = new ContentPage(); page.SetBinding (BackgroundImageProperty, "."); return page; }), ItemsSource = new[] { "oasis.jpg", "crimson.jpg" } /*ItemsSource = new[] { "http://www.zemwallpaper.com/wp-content/uploads/2014/05/Desktop-background-download-21.jpg", "http://www.zemwallpaper.com/wp-content/uploads/2014/05/Desktop-background-download-31.jpg", "http://www.zemwallpaper.com/wp-content/uploads/2014/05/Desktop-background-download-61.jpg", "http://www.zemwallpaper.com/wp-content/uploads/2014/05/Desktop-background-download-71.jpg" };*/ }); }; var contentInCarosel = new Button { Text = "Carousel children" }; contentInCarosel.Clicked += async (sender, args) => { await Navigation.PushModalAsync (new CarouselPage { ItemTemplate = new DataTemplate (() => { var page = new ContentPage(); page.SetBinding (BackgroundImageProperty, "."); return page; }), ItemsSource = new[] { "oasis.jpg", "crimson.jpg" } /*ItemsSource = new[] { "http://www.zemwallpaper.com/wp-content/uploads/2014/05/Desktop-background-download-21.jpg", "http://www.zemwallpaper.com/wp-content/uploads/2014/05/Desktop-background-download-31.jpg", "http://www.zemwallpaper.com/wp-content/uploads/2014/05/Desktop-background-download-61.jpg", "http://www.zemwallpaper.com/wp-content/uploads/2014/05/Desktop-background-download-71.jpg" };*/ }); }; var navigation = new Button { Text = "NavigationPage"}; navigation.Clicked += async (sender, args) => { await Navigation.PushModalAsync (new NavigationPage (new ContentPage { Content = new Label { Text = "Text", FontSize = 42 }}) { BackgroundImage = "oasis.jpg" } ); }; var carousel = new Button { Text = "CarouselPage" }; carousel.Clicked += async (sender, args) => { await Navigation.PushAsync (new CarouselPage { BackgroundImage = "crimson.jpg", ItemsSource = new[] { "test1", "test2" } }); }; var tabbed = new Button { Text = "TabbedPage" }; tabbed.Clicked += async (sender, args) => { await Navigation.PushAsync (new TabbedPage { BackgroundImage = "crimson.jpg", ItemsSource = new[] { "test1", "test2" } }); }; var master = new Button { Text = "MasterDetail" }; master.Clicked += async (sender, args) => { await Navigation.PushModalAsync (new MasterDetailPage { Master = new ContentPage { Title = "Master" }, Detail = new ContentPage(), BackgroundImage = "crimson.jpg", }); }; Content = new StackLayout { Children = { navigation, carousel, tabbed, master, contentIntabs, contentInCarosel } }; } } }