Xamarin之TableView

TableView 是一個帶滾動條的數據列表而且行的樣式可以不同。不像ListView,TableView沒有概念化的ItemSource,所以items必須作爲子項手動的添加。

如下爲TableView在ios 、android、wp中的呈現樣式:



什麼情況下使用TableView:

1、呈現一個設置列表。

2、一個表單裏的數據集合

3、顯示數據,要求行的樣式不同。


TableView的結構:

TableRoot是TableView的一個根節點Root,而一個根節點包含一個或多個TableSection,TableSection包括多顯示元素。關係如下:

Content = new TableView {
    Root = new TableRoot {
        new TableSection...
    },
    Intent = TableIntent.Settings
};

每個TableSection由一個頭標題和一個或多個ViewCells組成,如下:

var section = new TableSection ("Ring") { //TableSection constructor takes title as an optional parameter
    new SwitchCell {Text = "New Voice Mail"},
    new SwitchCell {Text = "New Mail", On = true}
};
在XAML中的寫法如下:

<TableView Intent="Settings">
    <TableRoot>
        <TableSection Title="Ring">
            <SwitchCell Text="New Voice Mail" />
      <SwitchCell Text="New Mail" On="true" />
        </TableSection>
    </TableRoot>
</TableView>


TableView的顯示

TableView有一個Intent屬性,對應的值如下:

1、Data - 用於顯示數據輸入,注意ListView可能更加適合做滾動數據列表的顯示

2、Form - 用作Tableview的操作是一個Form的時候

3、Menu - 用作顯示一個菜單選項的時候

4、Settings - 用作顯示一個配置設置列表的時候。


創建TableView的Cell

TableView和ListView可以使用相同的Cells,但是在TableView中更多使用SwitchCell和EntryCell,而在ListView中更多使用TextCell和ImageCell。

SwitchCell是一個呈現狀態的控件,如on/off  true/false。包括一個顯示文本和一個開關。如下圖:



EntryCell 是一個普通的文本編輯cell。


自定義的cell

除了Xamarin.Forms自帶的幾種Cell以外,也可以自定義Cell,得到想要的效果,自定義Cell,需要繼承ViewCell。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章