Windows Phone 8.1 清單控制項(1):基本

來源:互聯網
上載者:User

標籤:style   class   blog   c   code   java   

說到 List 控制項,Windows Phone 8.1 上推薦使用的是 ListView 和 GridView。

而這兩個控制項實在太多東西可講了,於是分成三篇來講:

(1)基本

(2)分組資料

(3)多資料呈現

ListView 和 GridView 的最大差別就是:ListView 是一條條依序排列的,而 GridView 則是一塊塊依序排列的,因此 ListView 中的一項就會佔據整整一行或者一列,而 GridView 的一項只會佔據它應有的大小,一行或一列中可以放置多項。

而兩者在其它方面上基本一致,因此下文只對 ListView 進行介紹,GridView 其實也一樣的。

 

 

Template

(1)ItemsPanelTemplate

ItemsPanel,也就是裝載項(Items)的那個框框,可以自訂它的各項屬性,比如可以讓項橫著排列:

<ListView.ItemsPanel>    <ItemsPanelTemplate>        <ItemsStackPanel Orientation="Horizontal"/>    </ItemsPanelTemplate></ListView.ItemsPanel>

(2)HeaderTemplate、FooterTemplate

自訂欄表的頭與尾,例如在列表底部增加一個按鈕點擊載入更多資料之類的:

<ListView.HeaderTemplate>    <DataTemplate>        <TextBlock Text="HeaderTemplate"                   Style="{StaticResource ControlHeaderTextBlockStyle}"                   FontSize="20"/>    </DataTemplate></ListView.HeaderTemplate><ListView.FooterTemplate>    <DataTemplate>        <TextBlock Text="FooterTemplate"                   Style="{StaticResource ControlHeaderTextBlockStyle}"                   FontSize="20"/>    </DataTemplate></ListView.FooterTemplate>

 

(3)ItemTemplate

自訂項(Item)的呈現,非常重要:

<ListView.ItemTemplate>    <DataTemplate>        <StackPanel>            <TextBlock Text="{Binding Title}"                       Style="{StaticResource ListViewItemSubheaderTextBlockStyle}"/>            <Image Source="{Binding Image}"/>            <TextBlock Text="{Binding Content}"                       Style="{StaticResource ListViewItemContentTextBlockStyle}"/>        </StackPanel>    </DataTemplate></ListView.ItemTemplate>

 

(4)ItemContainerStyle

定義控制項在不同狀態下的行為與呈現,可以使用 SDK 內建的 Blend 輕鬆實現。

 

2個屬性

(1)多選

通過 XAML 更改 SelectionMode 實現多選:

SelectionMode="Multiple"

也可通過 C# 代碼實現:

private void multipleButton_Click(object sender, RoutedEventArgs e){    if( myListView.SelectionMode == ListViewSelectionMode.Single )        myListView.SelectionMode = ListViewSelectionMode.Multiple;    else        myListView.SelectionMode = ListViewSelectionMode.Single;}

(2)排序

通過 XAML 更改 ReorderMode 開啟排序狀態:

ReorderMode="Enabled"

也可通過 C# 代碼實現:

private void myListView_Holding(object sender, HoldingRoutedEventArgs e){    if( e.HoldingState == HoldingState.Started )        myListView.ReorderMode = ListViewReorderMode.Enabled;}

要注意的是,下一篇要講的 分組資料(GroupingData)不能排序

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.