前言
有項目用到簡易的分佈表(不需要排序,修改等複雜操作,只需要分頁)網上找到的都不是我需要的,在此使用綁定自制一個簡易分頁,不修改DataGrid樣式及其事件,最大限度給其它項目複用及定製
效果
原理
- 通過綁定數據完成邏輯實現
- 在需要用到分頁的DataGrid的地方,給DataGrid及其它按鈕綁定類型
實現
可跟據自身需求隨意更改樣式,語言及排板
- 綁定DataGrid數據
<DataGrid DataContext="{Binding GridPagingService}" ItemsSource="{Binding Items}" />
- 綁定其它按鈕數據
<Button Content="首頁" Padding="15,5" Command="{Binding FirstPage}" Margin="5" /> <Button Content="上一頁" Padding="15,5" Command="{Binding PrevPage}" Margin="5" /> <TextBlock Text="第" VerticalAlignment="Center" Margin="5" /> <TextBlock Text="{Binding Current}" Foreground="Red" VerticalAlignment="Center" Margin="5" /> <TextBlock Text="頁" VerticalAlignment="Center" Margin="5" /> <TextBlock Text="共" VerticalAlignment="Center" /> <TextBlock Text="{Binding Total}" VerticalAlignment="Center" Foreground="Red" Margin="5" /> <TextBlock Text="頁" VerticalAlignment="Center" Margin="5" /> <Button Content="下一頁" Padding="15,5" Command="{Binding NextPage}" Margin="5" /> <Button Content="尾頁" Padding="15,5" Command="{Binding LastPage}" Margin="5" /> <TextBlock Text="跳轉" VerticalAlignment="Center" Margin="5" /> <ComboBox ItemsSource="{Binding SelectList}" Margin="5" VerticalContentAlignment="Center" SelectedIndex="{Binding SelectedIndex}" /> <TextBlock Text="每頁" Margin="5" VerticalAlignment="Center" /> <ComboBox ItemsSource="{Binding SplitCount}" Margin="5" VerticalContentAlignment="Center" SelectedItem="{Binding CurrentSplit}" /> <TextBlock Text="個數據" Margin="5" VerticalAlignment="Center" />
- 實現綁定邏輯