Page主要分为ContentPage、MasterDetailPage、NavigationPage、TabbedPage和CarouselPage。
ContentPage
一个单独的页面,可以放一个或多个控件,属于page里面是最底层的元素。
1 /// <summary> 2 /// ContentPage 3 /// </summary> 4 public class TestContentPage : ContentPage 5 { 6 public TestContentPage() 7 { 8 //隐藏上方的工具栏 9 NavigationPage.SetHasNavigationBar(this, false); 10 //该page绑定的Model类 11 this.BindingContext = new TestModel(); 12 //该Page的显示内容 13 this.Content = TestStackLayout(); 14 //该Page工具栏的Title显示 15 this.Title = "Test页"; 16 //工具栏的工具 17 ToolbarItem textToolbarItem1 = new ToolbarItem("Test", "test.jpg", () => 18 { 19 DisplayAlert("工具", "you click this toolbar", "OK"); 20 }, 0, 0); 21 22 ToolbarItem textToolbarItem2 = new ToolbarItem("Test", "test.jpg", () => 23 { 24 }, 0, 0); 25 //工具的点击事件绑定 26 textToolbarItem2.SetBinding(ToolbarItem.CommandProperty, "SubmitCommand"); 27 28 this.ToolbarItems.Add(textToolbarItem1); 29 this.ToolbarItems.Add(textToolbarItem2); 30 //背景图片 31 this.BackgroundImage = "test.jpg"; 32 //背景颜色 33 this.BackgroundColor = Color.Blue; 34 } 35 36 /// <summary> 37 /// stacklayout布局 38 /// </summary> 39 /// <returns></returns> 40 public StackLayout TestStackLayout() 41 { 42 var textName = new Label 43 { 44 }; 45 textName.SetBinding(Label.TextProperty, "TestName"); 46 47 var textImage = new Image 48 { 49 }; 50 textImage.SetBinding(Image.SourceProperty, "ImageSource"); 51 52 var testViewCellSL = new StackLayout 53 { 54 Orientation = StackOrientation.Horizontal, 55 Padding = new Thickness(5, 10, 20, 30), 56 Spacing = 10, 57 Children = 58 { 59 textImage, 60 textName, 61 }, 62 }; 63 return testViewCellSL; 64 } 65 }