NavigationPager.xaml 5.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:controls="clr-namespace:FWindSoft.Wpf.Controls">
  4. <Style TargetType="{x:Type controls:NavigationPager}">
  5. <Setter Property="Template">
  6. <Setter.Value>
  7. <ControlTemplate TargetType="{x:Type controls:NavigationPager}">
  8. <ControlTemplate.Resources>
  9. <BooleanToVisibilityConverter x:Key="Con"></BooleanToVisibilityConverter>
  10. <ControlTemplate x:Key="btnTemp" TargetType="Button">
  11. <Border VerticalAlignment="Center" HorizontalAlignment="Center" Name="border" Padding="2">
  12. <ContentPresenter Content="{TemplateBinding ContentControl.Content}" />
  13. </Border>
  14. <ControlTemplate.Triggers>
  15. <Trigger Property="IsMouseOver" Value="True">
  16. <Setter Property="BorderThickness" TargetName="border" Value="0,0,0,1" />
  17. <Setter Property="BorderBrush" TargetName="border" Value="Blue" />
  18. </Trigger>
  19. <Trigger Property="IsEnabled" Value="False">
  20. <Setter Property="Button.Foreground" TargetName="border" Value="Gray" />
  21. </Trigger>
  22. </ControlTemplate.Triggers>
  23. </ControlTemplate>
  24. </ControlTemplate.Resources>
  25. <Grid>
  26. <Grid.ColumnDefinitions>
  27. <ColumnDefinition></ColumnDefinition>
  28. <ColumnDefinition Width="Auto"></ColumnDefinition>
  29. </Grid.ColumnDefinitions>
  30. <StackPanel Orientation="Horizontal">
  31. <Button Template="{StaticResource btnTemp}" x:Name="BtnFirst" Margin="5,0" IsEnabled="{Binding CanGoFirst,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}">
  32. <Path Width="7" Height="10" Data="M0,0L0,10 M0,5L6,2 6,8 0,5" Stroke="Black" StrokeThickness="1" Fill="Black" VerticalAlignment="Center" HorizontalAlignment="Center" />
  33. </Button>
  34. <Button Template="{StaticResource btnTemp}" x:Name="BtnPrevious" Margin="0,0,5,0" IsEnabled="{Binding CanGoFirst,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}">
  35. <Path Width="8" Height="8" Data="M0,4L8,0 8,8z" Stroke="Black" Fill="Black" VerticalAlignment="Center" HorizontalAlignment="Center" />
  36. </Button>
  37. <TextBlock VerticalAlignment="Center">
  38. <Run Text="第"/>
  39. <Run x:Name="rCurrent" Text="{Binding CurrentPageIndex,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}"/>
  40. <Run Text="页"/>
  41. </TextBlock>
  42. <Button Template="{StaticResource btnTemp}" Margin="5,0" x:Name="BtnNext" IsEnabled="{Binding CanGoLast,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}">
  43. <Path Width="8" Height="8" Data="M0,4L8,0 8,8z" Stroke="Black" Fill="Black" VerticalAlignment="Center" HorizontalAlignment="Center">
  44. <Path.RenderTransform>
  45. <RotateTransform Angle="180" CenterX="4" CenterY="4" />
  46. </Path.RenderTransform>
  47. </Path>
  48. </Button>
  49. <Button Template="{StaticResource btnTemp}" Margin="0,0,5,0" x:Name="BtnLast" IsEnabled="{Binding CanGoLast,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}">
  50. <Path x:Name="MainPath" Width="7" Height="10" Data="M0,0L0,10 M0,5 L6,2 6,8 0,5" Stroke="Black" StrokeThickness="1" Fill="Black" VerticalAlignment="Center" HorizontalAlignment="Center">
  51. <Path.RenderTransform>
  52. <RotateTransform Angle="180" CenterX="3" CenterY="5" />
  53. </Path.RenderTransform>
  54. </Path>
  55. </Button>
  56. <TextBlock VerticalAlignment="Center" Visibility="{TemplateBinding TotalPageVisible,Converter={StaticResource Con}}">
  57. <Run Text="共"/>
  58. <Run x:Name="rTotal" Text="{Binding TotalPageCount,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}"/>
  59. <Run Text="页"/>
  60. </TextBlock>
  61. </StackPanel>
  62. <ContentPresenter Grid.Column="1" Content="{Binding AttachElement,RelativeSource={RelativeSource TemplatedParent}}"></ContentPresenter>
  63. </Grid>
  64. </ControlTemplate>
  65. </Setter.Value>
  66. </Setter>
  67. </Style>
  68. </ResourceDictionary>