Merge pull request #339 from irihitech/pagination

Pagination new Theme: TinyPagination
This commit is contained in:
Dong Bin
2024-08-12 23:14:22 +08:00
committed by GitHub
4 changed files with 239 additions and 177 deletions

View File

@@ -12,7 +12,7 @@
<Setter Property="Template">
<ControlTemplate TargetType="u:Pagination">
<StackPanel Orientation="Horizontal">
<u:PaginationButton u:DisabledAdorner.IsEnabled="True" Name="{x:Static u:Pagination.PART_PreviousButton}">
<u:PaginationButton Name="{x:Static u:Pagination.PART_PreviousButton}" u:DisabledAdorner.IsEnabled="True">
<PathIcon
Width="12"
Height="12"
@@ -20,21 +20,24 @@
Foreground="{DynamicResource PaginationButtonIconForeground}" />
</u:PaginationButton>
<StackPanel Name="{x:Static u:Pagination.PART_ButtonPanel}" Orientation="Horizontal" />
<u:PaginationButton u:DisabledAdorner.IsEnabled="True" Name="{x:Static u:Pagination.PART_NextButton}">
<u:PaginationButton Name="{x:Static u:Pagination.PART_NextButton}" u:DisabledAdorner.IsEnabled="True">
<PathIcon
Width="12"
Height="12"
Data="{DynamicResource PaginationForwardGlyph}"
Foreground="{DynamicResource PaginationButtonIconForeground}" />
</u:PaginationButton>
<StackPanel Orientation="Horizontal" IsVisible="{TemplateBinding ShowQuickJump}">
<StackPanel IsVisible="{TemplateBinding ShowQuickJump}" Orientation="Horizontal">
<TextBlock
Margin="4 0"
Margin="4,0"
VerticalAlignment="Center"
Text="{DynamicResource STRING_PAGINATION_JUMP_TO}" />
<u:NumericIntUpDown x:Name="{x:Static u:Pagination.PART_QuickJumpInput}" ShowButtonSpinner="False" Width="50"></u:NumericIntUpDown>
<u:NumericIntUpDown
x:Name="{x:Static u:Pagination.PART_QuickJumpInput}"
Width="50"
ShowButtonSpinner="False" />
<TextBlock
Margin="4 0"
Margin="4,0"
VerticalAlignment="Center"
Text="{DynamicResource STRING_PAGINATION_PAGE}" />
</StackPanel>
@@ -48,6 +51,63 @@
</Setter>
</ControlTheme>
<ControlTheme x:Key="TinyPagination" TargetType="{x:Type u:Pagination}">
<Setter Property="DisplayCurrentPageInQuickJumper" Value="True"></Setter>
<Setter Property="Template">
<ControlTemplate TargetType="u:Pagination">
<StackPanel Orientation="Horizontal">
<u:PaginationButton Name="{x:Static u:Pagination.PART_PreviousButton}" u:DisabledAdorner.IsEnabled="True">
<PathIcon
Width="12"
Height="12"
Data="{DynamicResource PaginationBackwardGlyph}"
Foreground="{DynamicResource PaginationButtonIconForeground}" />
</u:PaginationButton>
<Grid ColumnDefinitions="*, Auto, *">
<u:NumericIntUpDown
Name="{x:Static u:Pagination.PART_QuickJumpInput}"
Grid.Column="0"
MinWidth="{Binding $self.Bounds.Height}"
VerticalAlignment="Center"
HorizontalContentAlignment="Center"
ShowButtonSpinner="False"
IsVisible="True"
Value="{TemplateBinding CurrentPage,
Mode=TwoWay}" />
<TextBlock
Name="PART_PageTextBlock"
Grid.Column="0"
VerticalAlignment="Center"
IsVisible="False"
Text="{TemplateBinding CurrentPage}" />
<TextBlock
Grid.Column="1"
Margin="8,0"
VerticalAlignment="Center"
Text="/" />
<SelectableTextBlock
Grid.Column="2"
VerticalAlignment="Center"
Text="{TemplateBinding PageCount}" />
</Grid>
<u:PaginationButton Name="{x:Static u:Pagination.PART_NextButton}" u:DisabledAdorner.IsEnabled="True">
<PathIcon
Width="12"
Height="12"
Data="{DynamicResource PaginationForwardGlyph}"
Foreground="{DynamicResource PaginationButtonIconForeground}" />
</u:PaginationButton>
</StackPanel>
</ControlTemplate>
</Setter>
<Style Selector="^.ReadOnly /template/ TextBlock#PART_PageTextBlock">
<Setter Property="IsVisible" Value="True" />
</Style>
<Style Selector="^.ReadOnly /template/ u|NumericUpDown#PART_QuickJumpInput">
<Setter Property="IsVisible" Value="False" />
</Style>
</ControlTheme>
<ControlTheme x:Key="{x:Type u:PaginationButton}" TargetType="u:PaginationButton">
<Setter Property="Content" Value="{Binding $self.Page}" />
<Setter Property="BorderBrush" Value="Transparent" />
@@ -130,4 +190,4 @@
</Style>
</ControlTheme>
</ResourceDictionary>
</ResourceDictionary>