Pagination 分頁
當資料量過多時,使用分頁分解資料。
基礎用法
頁數較少時的效果
<lib:Pagination Total="5" PageSize="1"></lib:Pagination>
大于 7 頁時的效果
<lib:Pagination Total="100" PageSize="1"></lib:Pagination>
設定最大頁碼按鈕數
預設情況下,當總頁數超過 7 頁時,Pagination 會折疊多餘的頁碼按鈕。通過PagerCount屬性可以設定最大頁碼按鈕數。
<lib:Pagination Total="50" PageSize="1" PagerCount="11"></lib:Pagination>
帶有背景色的分頁
<lib:Pagination Total="1000" Background="#409EFF"></lib:Pagination>
附加功能
根據場景需要,可以添加其他功能子產品。
<lib:Pagination Total="1000" Margin="20" x:Name="pagination" Background="#409EFF"></lib:Pagination>
<WrapPanel Margin="0 20 0 0">
<Label VerticalContentAlignment="Center" ContentStringFormat="共{0}條" Content="{Binding ElementName=pagination,Path=Total}"></Label>
<ComboBox SelectedIndex="0" SelectedValue="{Binding ElementName=pagination,Path=PageSize,Mode=TwoWay}" ItemsSource="{Binding Source={StaticResource PageSizeSource}}">
</ComboBox>
<Label VerticalContentAlignment="Center" Content="前往"></Label>
<TextBox Width="50" VerticalContentAlignment="Center" Text="{Binding ElementName=pagination,Path=CurrentPage,Mode=TwoWay}"></TextBox>
<Label VerticalContentAlignment="Center" Content="頁"></Label>
<CheckBox>這隻是為了擷取焦點的</CheckBox>
</WrapPanel>
當隻有一頁時隐藏分頁
當隻有一頁時,通過設定 HideOnSinglePage屬性來隐藏分頁。
Attributes
參數 | 說明 | 類型 | 可選值 | 預設值 |
---|---|---|---|---|
PageSize | 每頁顯示條目個數 | int | — | 10 |
Total | 總條目數 | int | — | — |
PageCount | 總頁數 | int | — | — |
PagerCount | 頁碼按鈕的數量,當總頁數超過該值時會折疊 | int | 大于等于 5 且小于等于 21 的奇數 | 7 |
CurrentPage | 目前頁數 | int | — | 1 |
HideOnSinglePage | 隻有一頁時是否隐藏 | boolean | — | true |
源碼位址:https://github.com/Super0Lan/ControlDesign