Xamarin这一新鲜玩意,让好多C#开发人员看到了开发IOS和Android的希望,我们就满怀希望的用上了这新鲜
玩意,不过Xamarin就如美丽的月球一样,满满的都是坑~。废话不多了,先从View层的控件开始,也主要是我负责
的View层,一点点摸索过来的,不过肯定会有瑕疵。

各个控件View
ActivityIndicator
滚动的圆圈,表示后台有进行的运算。主要属性,IsRunning。
BoxView
一个有颜色的矩形,可以用于分割线。
Button
按钮,主要属性Image,Click。
View Code
DatePicker
日期控件,字体颜色默认无法设置。binding的属性为DateTime。
Editor
长文本控件,可以回车换行,字体颜色默认无法设置
Entry
短文本控件,不可回车换行
Image
图片控件,包括程序图片、本地图片以及网络图片
Label

标签,文本显示
ListView
列表

 1 public class TestPage : ContentPage
 2     {
 3         public TestPage()
 4         {
 5             this.BindingContext = new TestModel();
 6         }
 7 
 8         public ListView TestListView()
 9         {
10             var testList = new ListView
11             {
12                 HasUnevenRows = true,
13                 //RowHeight = 40,
14             };
15             testList.ItemTemplate = new DataTemplate(typeof(TestViewCell));
16             testList.SetBinding(ListView.ItemsSourceProperty, "TestList");
17             testList.SetBinding(ListView.SelectedItemProperty, "SelectedTest");
18             return testList;
19         }
20     }
21 
22     /// <summary>
23     /// 测试列表选项类
24     /// </summary>
25     public class TestViewCell : ViewCell
26     {
27         public TestViewCell()
28         {
29             this.View = null;
30         }
31 
32         public StackLayout TestViewCellSL()
33         {
34             var textName = new Label
35             {
36             };
37             textName.SetBinding(Label.TextProperty, "TestName");
38             var textImage = new Image
39             {
40             };
41             textImage.SetBinding(Image.SourceProperty, "ImageSource");
42             var testViewCellSL = new StackLayout
43             {
44                 Orientation = StackOrientation.Horizontal,
45                 Children =
46                 {
47                     textImage,
48                     textName,
49                 },
50             };
51             return testViewCellSL;
52         }
53     }
54 
55     /// <summary>
56     /// 测试类
57     /// </summary>
58     public class TestClass
59     {
60         public TestClass()
61         {
62         }
63 
64         public string TestName {  set; get; }
65 
66         public string ImageSource {  set; get; }
67     }
68 
69     /// <summary>
70     /// 测试Model
71     /// </summary>
72     public class TestModel
73     {
74         public TestModel()
75         {
76             TestList.Add(new TestClass { TestName = "1", ImageSource = "1.jpg" });
77             TestList.Add(new TestClass { TestName = "2", ImageSource = "2.jpg" });
78             TestList.Add(new TestClass { TestName = "3", ImageSource = "3.jpg" });
79             TestList.Add(new TestClass { TestName = "4", ImageSource = "4.jpg" });
80             TestList.Add(new TestClass { TestName = "5", ImageSource = "5.jpg" });
81             TestList.Add(new TestClass { TestName = "6", ImageSource = "6.jpg" });
82             TestList.Add(new TestClass { TestName = "7", ImageSource = "7.jpg" });
83         }
84         public List<TestClass> TestList = new List<TestClass>();
85 
86         public TestClass SelectedTest { get; set; }
87     }
View Code

相关文章: