返回首页
当前位置: 首页 > silverlight教程 >

Silverlight完全自定义DataPager

时间:2012-12-05 10:12来源:未知 作者:admin 点击:我要投稿  高质量的ASP.NET空间,完美支持1.0/2.0/3.5/4.0/MVC等

silverlight 提供的控件虽然都好用 但是通常都会有默认模板样式 有些模板样式在中国人看来肯定不是很好看

所以又时候 有必要修改下再使用 今天我就遇到DataPager的模板样式问题 我觉得自带的不怎么好看

在网上查了下 还没有什么好的例子 那我就分享下我自己的例子 大神们见谅哦!

 

先上图

感觉这个看着换可以吧 你们如果要用可以自己再修改下

 

首先引入命名空间

          xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
           xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows"

分页样式   
<!--测试分页控件样式开始-->
 

  1. <Style x:Key="DataPagerStyle" TargetType="data:DataPager">  
  2.              <Setter Property="Background" Value="#FFF2F3F4"/>  
  3.              <Setter Property="BorderBrush">  
  4.                  <Setter.Value>  
  5.                      <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">  
  6.                          <GradientStop Color="#FFA3AEB9" Offset="0"/>  
  7.                          <GradientStop Color="#FF8399A9" Offset="0.375"/>  
  8.                          <GradientStop Color="#FF718597" Offset="0.375"/>  
  9.                          <GradientStop Color="#FF617584" Offset="1"/>  
  10.                      </LinearGradientBrush>  
  11.                  </Setter.Value>  
  12.              </Setter>  
  13.              <Setter Property="BorderThickness" Value="1"/>  
  14.              <Setter Property="HorizontalContentAlignment" Value="Right" />  
  15.              <Setter Property="NumericButtonStyle">  
  16.                  <Setter.Value>  
  17.                      <Style TargetType="ToggleButton">  
  18.                          <Setter Property="MinHeight" Value="20"/>  
  19.                          <Setter Property="MinWidth" Value="20"/>  
  20.                          <Setter Property="HorizontalAlignment" Value="Right"/>  
  21.                          <Setter Property="VerticalAlignment" Value="Center"/>  
  22.                          <Setter Property="Background" Value="#00000000"/>  
  23.                          <Setter Property="BorderThickness" Value="1"/>  
  24.                          <Setter Property="Padding" Value="1"/>  
  25.                          <Setter Property="Template">  
  26.                              <Setter.Value>  
  27.                                  <ControlTemplate TargetType="ToggleButton">  
  28.                                      <Grid>  
  29.                                          <vsm:VisualStateManager.VisualStateGroups>  
  30.                                              <vsm:VisualStateGroup x:Name="CommonStates">  
  31.                                                  <vsm:VisualState x:Name="Normal"/>  
  32.                                                  <vsm:VisualState x:Name="MouseOver">  
  33.                                                      <Storyboard>  
  34.                                                          <ColorAnimation Duration="0" Storyboard.TargetName="OuterBtnBorder" Storyboard.TargetProperty="(BorderBrush).Color" To="#FFFFFFFF"/>  
  35.                                                          <ColorAnimation Duration="0" Storyboard.TargetName="InnerBtnBorder" Storyboard.TargetProperty="(BorderBrush).Color" To="#FFCCD1D6"/>  
  36.                                                      </Storyboard>  
  37.                                                  </vsm:VisualState>  
  38.                                                  <vsm:VisualState x:Name="Pressed">  
  39.                                                      <Storyboard>  
  40.                                                          <ColorAnimation Duration="0" Storyboard.TargetName="OuterBtnBorder" Storyboard.TargetProperty="(BorderBrush).Color" To="#FFFFFFFF"/>  
  41.                                                          <ColorAnimation Duration="0" Storyboard.TargetName="InnerBtnBorder" Storyboard.TargetProperty="(BorderBrush).Color" To="#FFCCD1D6"/>  
  42.                                                      </Storyboard>  
  43.                                                  </vsm:VisualState>  
  44.                                                  <vsm:VisualState x:Name="Disabled">  
  45.                                                      <Storyboard>  
  46.                                                          <DoubleAnimation Duration="0" Storyboard.TargetName="contentPresenter" Storyboard.TargetProperty="Opacity" To="0.5"/>  
  47.                                                      </Storyboard>  
  48.                                                  </vsm:VisualState>  
  49.                                              </vsm:VisualStateGroup>  
  50.                                              <vsm:VisualStateGroup x:Name="CheckStates">  
  51.                                                  <vsm:VisualState x:Name="Checked">  
  52.                                                      <Storyboard>  
  53.                                                          <DoubleAnimation Duration="0" Storyboard.TargetName="CheckedStateOuterBorder" Storyboard.TargetProperty="Opacity" To="1"/>  
  54.                                                      </Storyboard>  
  55.                                                  </vsm:VisualState>  
  56.                                                  <vsm:VisualState x:Name="Unchecked"/>  
  57.                                              </vsm:VisualStateGroup>  
  58.                                              <vsm:VisualStateGroup x:Name="FocusStates">  
  59.                                                  <vsm:VisualState x:Name="Focused">  
  60.                                                      <Storyboard>  
  61.                                                          <DoubleAnimation Duration="0" Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Opacity" To="1"/>  
  62.                                                      </Storyboard>  
  63.                                                  </vsm:VisualState>  
  64.                                                  <vsm:VisualState x:Name="Unfocused"/>  
  65.                                              </vsm:VisualStateGroup>  
  66.                                          </vsm:VisualStateManager.VisualStateGroups>  
  67.                                          <Border x:Name="CheckedStateOuterBorder" Background="#7FA9A9A9" BorderBrush="#00FFFFFF" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="3" Opacity="0"/>  
  68.                                          <Border x:Name="OuterBtnBorder" Background="{TemplateBinding Background}" BorderBrush="#00FFFFFF" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="3">  
  69.                                              <Border x:Name="InnerBtnBorder" BorderBrush="#00CCD1D6" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2">  
  70.                                                  <ContentPresenter x:Name="contentPresenter" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" HorizontalAlignment="Center" VerticalAlignment="Center" />  
  71.                                              </Border>  
  72.                                          </Border>  
  73.                                          <Border x:Name="FocusVisualElement" Background="{TemplateBinding Background}" BorderBrush="#FF6DBDD1" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2" Margin="1" Opacity="0"/>  
  74.                                      </Grid>  
  75.                                  </ControlTemplate>  
  76.                              </Setter.Value>  
  77.                          </Setter>  
  78.                      </Style>  
  79.                  </Setter.Value>  
  80.              </Setter>  
  81.    
  82.              <Setter Property="Template">  
  83.                  <Setter.Value>  
  84.                      <ControlTemplate TargetType="data:DataPager">  
  85.                          <Grid Name="Root" Background="Transparent">  
  86.                              <Grid.Resources>  
  87.                                  <SolidColorBrush x:Key="BackgroundColor" Color="#00000000"/>  
  88.                                  <SolidColorBrush x:Key="ForegroundColor" Color="#FF000000"/>  
  89.                                  <SolidColorBrush x:Key="BorderBrushColor" Color="#FFFFFFFF"/>  
  90.                                  <ControlTemplate x:Key="ButtonTemplate" TargetType="Button">  
  91.                                      <Grid>  
  92.                                          <vsm:VisualStateManager.VisualStateGroups>  
  93.                                              <vsm:VisualStateGroup x:Name="CommonStates">  
  94.                                                  <vsm:VisualState x:Name="Normal"/>  
  95.                                                  <vsm:VisualState x:Name="MouseOver">  
  96.                                                      <Storyboard>  
  97.                                                          <ColorAnimation Duration="0" Storyboard.TargetName="OuterBtnBorder" Storyboard.TargetProperty="(BorderBrush).Color" To="#FFFFFFFF"/>  
  98.                                                          <ColorAnimation Duration="0" Storyboard.TargetName="InnerBtnBorder" Storyboard.TargetProperty="(BorderBrush).Color" To="#FFCCD1D6"/>  
  99.                                                      </Storyboard>  
  100.                                                  </vsm:VisualState>  
  101.                                                  <vsm:VisualState x:Name="Pressed">  
  102.                                                      <Storyboard>  
  103.                                                          <ColorAnimation Duration="0" Storyboard.TargetName="OuterBtnBorder" Storyboard.TargetProperty="(BorderBrush).Color" To="#FFFFFFFF"/>  
  104.                                                          <ColorAnimation Duration="0" Storyboard.TargetName="InnerBtnBorder" Storyboard.TargetProperty="(BorderBrush).Color" To="#00FFFFFF"/>  
  105.                                                      </Storyboard>  
  106.                                                  </vsm:VisualState>  
  107.                                                  <vsm:VisualState x:Name="Disabled">  
  108.                                                      <Storyboard>  
  109.                                                          <DoubleAnimation Duration="0" Storyboard.TargetName="path" Storyboard.TargetProperty="Opacity" To="0.5"/>  
  110.                                                      </Storyboard>  
  111.                                                  </vsm:VisualState>  
  112.                                              </vsm:VisualStateGroup>  
  113.                                              <vsm:VisualStateGroup x:Name="FocusStates">  
  114.                                                  <vsm:VisualState x:Name="Focused">  
  115.                                                      <Storyboard>  
  116.                                                          <DoubleAnimation Duration="0" Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Opacity" To="1"/>  
  117.                                                      </Storyboard>  
  118.                                                  </vsm:VisualState>  
  119.                                                  <vsm:VisualState x:Name="Unfocused"/>  
  120.                                              </vsm:VisualStateGroup>  
  121.                                          </vsm:VisualStateManager.VisualStateGroups>  
  122.                                          <Border x:Name="OuterBtnBorder" BorderBrush="#00FFFFFF" Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="3">  
  123.                                              <Border x:Name="InnerBtnBorder" BorderBrush="#00CCD1D6" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2">  
  124.                                                  <ContentPresenter x:Name="path" Content="{TemplateBinding Content}"/>  
  125.                                              </Border>  
  126.                                          </Border>  
  127.                                          <Border x:Name="FocusVisualElement" BorderBrush="#FF6DBDD1" Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="2" Margin="1" Opacity="0"/>  
  128.                                      </Grid>  
  129.                                  </ControlTemplate>  
  130.    
  131.                                  <Style x:Key="PagingTextBoxStyle" TargetType="TextBox">  
  132.                                      <Setter Property="BorderThickness" Value="1"/>  
  133.                                      <Setter Property="Background" Value="#FFFFFFFF"/>  
  134.                                      <Setter Property="Foreground" Value="#FF000000"/>  
  135.                                      <Setter Property="Padding" Value="2, 2, 2, -1"/>  
  136.                                      <Setter Property="Template">  
  137.                                          <Setter.Value>  
  138.                                              <ControlTemplate TargetType="TextBox">  
  139.                                                  <Grid x:Name="RootElement">  
  140.                                                      <vsm:VisualStateManager.VisualStateGroups>  
  141.                                                          <vsm:VisualStateGroup x:Name="CommonStates">  
  142.                                                              <vsm:VisualState x:Name="Normal"/>  
  143.                                                              <vsm:VisualState x:Name="MouseOver">  
  144.                                                                  <Storyboard>  
  145.                                                                      <ColorAnimation Storyboard.TargetName="MouseOverBorder" Storyboard.TargetProperty="(BorderBrush).Color" To="#FF99C1E2"/>  
  146.                                                                  </Storyboard>  
  147.                                                              </vsm:VisualState>  
  148.                                                              <vsm:VisualState x:Name="Disabled">  
  149.                                                                  <Storyboard>  
  150.                                                                      <DoubleAnimation Storyboard.TargetName="DisabledVisualElement" Storyboard.TargetProperty="Opacity" To="1"/>  
  151.                                                                  </Storyboard>  
  152.                                                              </vsm:VisualState>  
  153.                                                              <vsm:VisualState x:Name="ReadOnly">  
  154.                                                                  <Storyboard>  
  155.                                                                      <DoubleAnimation Storyboard.TargetName="ReadOnlyVisualElement" Storyboard.TargetProperty="Opacity" To="1"/>  
  156.                                                                  </Storyboard>  
  157.                                                              </vsm:VisualState>  
  158.                                                          </vsm:VisualStateGroup>  
  159.                                                          <vsm:VisualStateGroup x:Name="FocusStates">  
  160.                                                              <vsm:VisualState x:Name="Focused">  
  161.                                                                  <Storyboard>  
  162.                                                                      <DoubleAnimation Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Opacity" To="1"/>  
  163.                                                                  </Storyboard>  
  164.                                                              </vsm:VisualState>  
  165.                                                              <vsm:VisualState x:Name="Unfocused"/>  
  166.                                                          </vsm:VisualStateGroup>  
  167.                                                      </vsm:VisualStateManager.VisualStateGroups>  
  168.                                                      <Border x:Name="Border" Opacity="1" Background="#66FFFFFF" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="1">  
  169.                                                          <Grid>  
  170.                                                              <Border x:Name="ReadOnlyVisualElement" Opacity="0" Background="#72F7F7F7"/>  
  171.                                                              <Border x:Name="MouseOverBorder" BorderBrush="Transparent" BorderThickness="1">  
  172.                                                                  <ScrollViewer BorderThickness="0" IsTabStop="False" Padding="{TemplateBinding Padding}" x:Name="ContentElement" Margin="0,-3,0,0" VerticalAlignment="Top"/>  
  173.                                                              </Border>  
  174.                                                          </Grid>  
  175.                                                      </Border>  
  176.                                                      <Border x:Name="DisabledVisualElement" IsHitTestVisible="False" Opacity="0" Background="#A5F7F7F7" BorderBrush="#A5F7F7F7" BorderThickness="{TemplateBinding BorderThickness}"/>  
  177.                                                      <Border Margin="1" x:Name="FocusVisualElement" IsHitTestVisible="False" Opacity="0" BorderBrush="#FF6DBDD1" BorderThickness="{TemplateBinding BorderThickness}"/>  
  178.                                                  </Grid>  
  179.                                              </ControlTemplate>  
  180.                                          </Setter.Value>  
  181.                                      </Setter>  
  182.                                  </Style>  
  183.                              </Grid.Resources>  
  184.                              <vsm:VisualStateManager.VisualStateGroups>  
  185.    
  186.                                  <!-- CommonStates -->  
  187.                                  <vsm:VisualStateGroup x:Name="CommonStates">  
  188.                                      <vsm:VisualState x:Name="Normal"/>  
  189.                                      <vsm:VisualState x:Name="Disabled">  
  190.                                          <Storyboard>  
  191.                                              <DoubleAnimation Storyboard.TargetName="CurrentPagePrefixTextBlock" Storyboard.TargetProperty="Opacity" To="0.5" Duration="0"/>  
  192.                                              <DoubleAnimation Storyboard.TargetName="CurrentPageSuffixTextBlock" Storyboard.TargetProperty="Opacity" To="0.5" Duration="0"/>  
  193.                                          </Storyboard>  
  194.                                      </vsm:VisualState>  
  195.                                  </vsm:VisualStateGroup>  
  196.    
  197.                                  <!-- MoveStates -->  
  198.                                  <vsm:VisualStateGroup x:Name="MoveStates">  
  199.                                      <vsm:VisualState x:Name="MoveEnabled">  
  200.                                          <Storyboard>  
  201.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="CurrentPageTextBox" Storyboard.TargetProperty="IsEnabled" Duration="0">  
  202.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="True"/>  
  203.                                              </ObjectAnimationUsingKeyFrames>  
  204.                                          </Storyboard>  
  205.                                      </vsm:VisualState>  
  206.    
  207.                                      <vsm:VisualState x:Name="MoveDisabled">  
  208.                                          <Storyboard>  
  209.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="CurrentPageTextBox" Storyboard.TargetProperty="IsEnabled" Duration="0">  
  210.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="False"/>  
  211.                                              </ObjectAnimationUsingKeyFrames>  
  212.                                          </Storyboard>  
  213.                                      </vsm:VisualState>  
  214.                                  </vsm:VisualStateGroup>  
  215.    
  216.                                  <!-- CanPageFirstStates -->  
  217.                                  <vsm:VisualStateGroup x:Name="MoveFirstStates">  
  218.                                      <vsm:VisualState x:Name="MoveFirstEnabled">  
  219.                                          <Storyboard>  
  220.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="FirstPageButton" Storyboard.TargetProperty="IsEnabled" Duration="0">  
  221.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="True"/>  
  222.                                              </ObjectAnimationUsingKeyFrames>  
  223.                                          </Storyboard>  
  224.                                      </vsm:VisualState>  
  225.    
  226.                                      <vsm:VisualState x:Name="MoveFirstDisabled">  
  227.                                          <Storyboard>  
  228.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="FirstPageButton" Storyboard.TargetProperty="IsEnabled" Duration="0">  
  229.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="False"/>  
  230.                                              </ObjectAnimationUsingKeyFrames>  
  231.                                          </Storyboard>  
  232.                                      </vsm:VisualState>  
  233.                                  </vsm:VisualStateGroup>  
  234.    
  235.                                  <!-- CanPagePreviousStates -->  
  236.                                  <vsm:VisualStateGroup x:Name="MovePreviousStates">  
  237.                                      <vsm:VisualState x:Name="MovePreviousEnabled">  
  238.                                          <Storyboard>  
  239.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PreviousPageButton" Storyboard.TargetProperty="IsEnabled" Duration="0">  
  240.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="True"/>  
  241.                                              </ObjectAnimationUsingKeyFrames>  
  242.                                          </Storyboard>  
  243.                                      </vsm:VisualState>  
  244.    
  245.                                      <vsm:VisualState x:Name="MovePreviousDisabled">  
  246.                                          <Storyboard>  
  247.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PreviousPageButton" Storyboard.TargetProperty="IsEnabled" Duration="0">  
  248.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="False"/>  
  249.                                              </ObjectAnimationUsingKeyFrames>  
  250.                                          </Storyboard>  
  251.                                      </vsm:VisualState>  
  252.                                  </vsm:VisualStateGroup>  
  253.    
  254.                                  <!-- CanPageNextStates -->  
  255.                                  <vsm:VisualStateGroup x:Name="MoveNextStates">  
  256.                                      <vsm:VisualState x:Name="MoveNextEnabled">  
  257.                                          <Storyboard>  
  258.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="NextPageButton" Storyboard.TargetProperty="IsEnabled" Duration="0">  
  259.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="True"/>  
  260.                                              </ObjectAnimationUsingKeyFrames>  
  261.                                          </Storyboard>  
  262.                                      </vsm:VisualState>  
  263.    
  264.                                      <vsm:VisualState x:Name="MoveNextDisabled">  
  265.                                          <Storyboard>  
  266.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="NextPageButton" Storyboard.TargetProperty="IsEnabled" Duration="0">  
  267.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="False"/>  
  268.                                              </ObjectAnimationUsingKeyFrames>  
  269.                                          </Storyboard>  
  270.                                      </vsm:VisualState>  
  271.                                  </vsm:VisualStateGroup>  
  272.    
  273.                                  <!-- CanPageLastStates -->  
  274.                                  <vsm:VisualStateGroup x:Name="MoveLastStates">  
  275.                                      <vsm:VisualState x:Name="MoveLastEnabled">  
  276.                                          <Storyboard>  
  277.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="LastPageButton" Storyboard.TargetProperty="IsEnabled" Duration="0">  
  278.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="True"/>  
  279.                                              </ObjectAnimationUsingKeyFrames>  
  280.                                          </Storyboard>  
  281.                                      </vsm:VisualState>  
  282.    
  283.                                      <vsm:VisualState x:Name="MoveLastDisabled">  
  284.                                          <Storyboard>  
  285.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="LastPageButton" Storyboard.TargetProperty="IsEnabled" Duration="0">  
  286.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="False"/>  
  287.                                              </ObjectAnimationUsingKeyFrames>  
  288.                                          </Storyboard>  
  289.                                      </vsm:VisualState>  
  290.                                  </vsm:VisualStateGroup>  
  291.    
  292.                                  <!-- PagerDisplayModeStates -->  
  293.                                  <vsm:VisualStateGroup x:Name="DisplayModeStates">  
  294.                                      <vsm:VisualState x:Name="FirstLastNumeric">  
  295.                                          <Storyboard>  
  296.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="NextPageButton" Storyboard.TargetProperty="Visibility">  
  297.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  298.                                              </ObjectAnimationUsingKeyFrames>  
  299.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PreviousPageButton" Storyboard.TargetProperty="Visibility">  
  300.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  301.                                              </ObjectAnimationUsingKeyFrames>  
  302.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="CurrentPageTextBox" Storyboard.TargetProperty="Visibility">  
  303.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  304.                                              </ObjectAnimationUsingKeyFrames>  
  305.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PageDisplay" Storyboard.TargetProperty="Visibility">  
  306.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  307.                                              </ObjectAnimationUsingKeyFrames>  
  308.                                          </Storyboard>  
  309.                                      </vsm:VisualState>  
  310.    
  311.                                      <vsm:VisualState x:Name="FirstLastPreviousNext">  
  312.                                          <Storyboard>  
  313.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="NumericButtonPanel" Storyboard.TargetProperty="Visibility">  
  314.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  315.                                              </ObjectAnimationUsingKeyFrames>  
  316.                                          </Storyboard>  
  317.                                      </vsm:VisualState>  
  318.    
  319.                                      <vsm:VisualState x:Name="FirstLastPreviousNextNumeric">  
  320.                                          <Storyboard>  
  321.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="CurrentPageTextBox" Storyboard.TargetProperty="Visibility">  
  322.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  323.                                              </ObjectAnimationUsingKeyFrames>  
  324.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PageDisplay" Storyboard.TargetProperty="Visibility">  
  325.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  326.                                              </ObjectAnimationUsingKeyFrames>  
  327.                                          </Storyboard>  
  328.                                      </vsm:VisualState>  
  329.    
  330.                                      <vsm:VisualState x:Name="Numeric">  
  331.                                          <Storyboard>  
  332.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="FirstPageButton" Storyboard.TargetProperty="Visibility">  
  333.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  334.                                              </ObjectAnimationUsingKeyFrames>  
  335.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="LastPageButton" Storyboard.TargetProperty="Visibility">  
  336.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  337.                                              </ObjectAnimationUsingKeyFrames>  
  338.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="NextPageButton" Storyboard.TargetProperty="Visibility">  
  339.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  340.                                              </ObjectAnimationUsingKeyFrames>  
  341.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PreviousPageButton" Storyboard.TargetProperty="Visibility">  
  342.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  343.                                              </ObjectAnimationUsingKeyFrames>  
  344.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="CurrentPageTextBox" Storyboard.TargetProperty="Visibility">  
  345.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  346.                                              </ObjectAnimationUsingKeyFrames>  
  347.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PageDisplay" Storyboard.TargetProperty="Visibility">  
  348.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  349.                                              </ObjectAnimationUsingKeyFrames>  
  350.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Separator1" Storyboard.TargetProperty="Visibility">  
  351.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  352.                                              </ObjectAnimationUsingKeyFrames>  
  353.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Separator2" Storyboard.TargetProperty="Visibility">  
  354.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  355.                                              </ObjectAnimationUsingKeyFrames>  
  356.                                          </Storyboard>  
  357.                                      </vsm:VisualState>  
  358.    
  359.                                      <vsm:VisualState x:Name="PreviousNext">  
  360.                                          <Storyboard>  
  361.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="FirstPageButton" Storyboard.TargetProperty="Visibility">  
  362.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  363.                                              </ObjectAnimationUsingKeyFrames>  
  364.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="LastPageButton" Storyboard.TargetProperty="Visibility">  
  365.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  366.                                              </ObjectAnimationUsingKeyFrames>  
  367.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="NumericButtonPanel" Storyboard.TargetProperty="Visibility">  
  368.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  369.                                              </ObjectAnimationUsingKeyFrames>  
  370.                                          </Storyboard>  
  371.                                      </vsm:VisualState>  
  372.    
  373.                                      <vsm:VisualState x:Name="PreviousNextNumeric">  
  374.                                          <Storyboard>  
  375.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="FirstPageButton" Storyboard.TargetProperty="Visibility">  
  376.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  377.                                              </ObjectAnimationUsingKeyFrames>  
  378.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="LastPageButton" Storyboard.TargetProperty="Visibility">  
  379.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  380.                                              </ObjectAnimationUsingKeyFrames>  
  381.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="CurrentPageTextBox" Storyboard.TargetProperty="Visibility">  
  382.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  383.                                              </ObjectAnimationUsingKeyFrames>  
  384.                                              <ObjectAnimationUsingKeyFrames Storyboard.TargetName="PageDisplay" Storyboard.TargetProperty="Visibility">  
  385.                                                  <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>  
  386.                                              </ObjectAnimationUsingKeyFrames>  
  387.                                          </Storyboard>  
  388.                                      </vsm:VisualState>  
  389.                                  </vsm:VisualStateGroup>  
  390.    
  391.                              </vsm:VisualStateManager.VisualStateGroups>  
  392.    
  393.                              <!-- DataPager Control Parts -->  
  394.                              <Border MinHeight="24" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" VerticalAlignment="Bottom" CornerRadius="2">  
  395.                                  <StackPanel Orientation="Horizontal" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="Stretch">  
  396.                                      <!--FirstPage Button -->  
  397.                                      <Button x:Name="FirstPageButton" Content="首页" Height="20" Width="30" Background="{StaticResource BackgroundColor}" Foreground="{StaticResource ForegroundColor}" BorderBrush="{StaticResource BorderBrushColor}" BorderThickness="1" Padding="1" HorizontalAlignment="Right" VerticalAlignment="Center" HorizontalContentAlignment="Center" Template="{StaticResource ButtonTemplate}">  
  398.                                          <!--<Button.Content>  
  399.                                              <Grid Height="9" Width="8" >  
  400.                                                  <Path Stretch="Fill" Data="M0,1 L1,0 L1,2 Z" Width="5" Height="9" HorizontalAlignment="Right" Fill="{TemplateBinding Foreground}"/>  
  401.                                                  <Rectangle Width="2" HorizontalAlignment="Left" Fill="{TemplateBinding Foreground}"/>  
  402.                                              </Grid>  
  403.                                          </Button.Content>  
  404.                                          -->  
  405.                                      </Button>  
  406.                                       
  407.                                        
  408.                                      <!--PreviousPage Button-->  
  409.                                      <Button Name="PreviousPageButton" Content="上一页" Height="20" Width="40"   Background="{StaticResource BackgroundColor}" Foreground="{StaticResource ForegroundColor}" BorderBrush="{StaticResource BorderBrushColor}" BorderThickness="1" Padding="1" HorizontalAlignment="Right" VerticalAlignment="Center" Template="{StaticResource ButtonTemplate}">  
  410.                                          <!--<Button.Content>  
  411.                                              <Path Stretch="Fill" Data="M0,1 L1,0 L1,2 Z" Width="5" Height="9" HorizontalAlignment="Center" Fill="{TemplateBinding Foreground}"/>  
  412.                                          </Button.Content>-->  
  413.                                      </Button>  
  414.    
  415.                                      <Border x:Name="Separator1" Width="1" Background="#FFCCD1D6" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1,0,1,0" Margin="0,3,0,3"/>  
  416.                                      <!--Numeric Button Panel-->  
  417.                                      <StackPanel x:Name="NumericButtonPanel" Orientation="Horizontal" Margin="1"/>  
  418.    
  419.                                      <!--Page Display-->  
  420.                                      <StackPanel x:Name="PageDisplay" Orientation="Horizontal">  
  421.                                          <TextBlock x:Name="CurrentPagePrefixTextBlock" Width="Auto" VerticalAlignment="Center" Margin="4,0,0,0" Foreground="{TemplateBinding Foreground}"/>  
  422.                                          <TextBox x:Name="CurrentPageTextBox" TextWrapping="Wrap" Width="40" Height="Auto" VerticalAlignment="Center" Margin="4,2,4,2" Style="{StaticResource PagingTextBoxStyle}" Foreground="{TemplateBinding Foreground}" BorderBrush="{TemplateBinding BorderBrush}"/>  
  423.                                          <TextBlock x:Name="CurrentPageSuffixTextBlock" Width="Auto" VerticalAlignment="Center" Margin="0,0,4,0" Foreground="{TemplateBinding Foreground}"/>  
  424.                                      </StackPanel>  
  425.                                      <Border x:Name="Separator2" Width="1" Background="#FFCCD1D6" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1,0,1,0" Margin="0,3,0,3"/>  
  426.    
  427.                                      <!--NextPage Button-->  
  428.                                      <Button x:Name="NextPageButton" Content="下一页" Height="20" Width="40"  Background="{StaticResource BackgroundColor}" Foreground="{StaticResource ForegroundColor}" BorderBrush="{StaticResource BorderBrushColor}" BorderThickness="1" Padding="1"  HorizontalAlignment="Right" VerticalAlignment="Center" Template="{StaticResource ButtonTemplate}">  
  429.                                          <!--<Button.Content>  
  430.                                              <Path Stretch="Fill" Data="M0,0 L1,1 L0,2 Z" Width="5" Height="9" HorizontalAlignment="Center" Fill="{TemplateBinding Foreground}"/>  
  431.                                          </Button.Content>-->  
  432.                                      </Button>  
  433.    
  434.                                      <!--LastPage Button-->  
  435.                                      <Button x:Name="LastPageButton" Content="尾页" Height="20" Width="30" Background="{StaticResource BackgroundColor}" Foreground="{StaticResource ForegroundColor}" BorderBrush="{StaticResource BorderBrushColor}" BorderThickness="1" Padding="1" HorizontalAlignment="Right" VerticalAlignment="Center" Template="{StaticResource ButtonTemplate}">  
  436.                                          <!--<Button.Content>  
  437.                                              <Grid Height="9" Width="8">  
  438.                                                  <Path Stretch="Fill" Data="M0,0 L1,1 L0,2 Z" Width="5" Height="9" HorizontalAlignment="Left" Fill="{TemplateBinding Foreground}"/>  
  439.                                                  <Rectangle Width="2" HorizontalAlignment="Right" Fill="{TemplateBinding Foreground}"/>  
  440.                                              </Grid>  
  441.                                          </Button.Content>-->  
  442.                                      </Button>  
  443.                                  </StackPanel>  
  444.                              </Border>  
  445.                          </Grid>  
  446.                      </ControlTemplate>  
  447.                  </Setter.Value>  
  448.              </Setter>  
  449.          </Style> 

<!--分页控件结束-->

 调用
 <data:DataPager x:Name ="PagerBar"  DisplayMode="FirstLastPreviousNextNumeric"  VerticalAlignment="Bottom" Style="{StaticResource DataPagerStyle}"
                 HorizontalAlignment="Center" Source="{Binding}" NumericButtonCount="4" AutoEllipsis="True"  Canvas.Top="402" Canvas.Left="116" />

最后给大家给出我自己写的分页后台代码 后台每次只取一页例子

 

  1. public partial class WinFriendPanel : ChildWindow  
  2.      {  
  3.          private const int PageSize = 1;//页大小  
  4.          private List<int> itemCount = new List<int>();//总记录  
  5.          private bool flag = true;//首次加载标志  
  6.    
  7.          public WinFriendPanel()  
  8.          {  
  9.              InitializeComponent();  
  10.              InitializeControls();  
  11.          }  
  12.    
  13.          /// <summary>  
  14.          /// 初始化控件  
  15.          /// </summary>  
  16.          private void InitializeControls()  
  17.          {  
  18.              this.Name = "playerFriend";  
  19.              //点击页码的事件,获取当前页的数据并绑定到DataGrid  
  20.                this.PagerBar.PageIndexChanged += (s, e) =>  
  21.               {  
  22.                   if (!flag)//如果不是首次加载  
  23.                   {  
  24.                       ClientMessagePool.AddSendMessage(ClientCommand.GetPlayerFriend(GameGlobal.CurrentUser.Player.playerId.ToString(), ((DataPager)s).PageIndex + 1, PageSize));  
  25.                   }  
  26.                   flag = false;  
  27.               };  
  28.              //默认第一页数据  
  29.               ClientMessagePool.AddSendMessage(ClientCommand.GetPlayerFriend(GameGlobal.CurrentUser.Player.playerId.ToString(), 1, PageSize));  
  30.          }  
  31.    
  32.          /// <summary>  
  33.          /// 显示玩家好友列表  
  34.          /// </summary>  
  35.          /// <param name="current">好友列表</param>  
  36.          public void DisplayPlayerFriends(List<PlayerFriendPage> current)  
  37.          {  
  38.              if (current != null)  
  39.              {  
  40.                  if (flag)//如果首次加载  
  41.                  {  
  42.                      int totalpagers = current[0] != null ? current[0].recordCount : 0;//总记录数  
  43.                      for (int i = 1; i <= totalpagers; i++)  
  44.                          itemCount.Add(i);  
  45.                      PagedCollectionView pcv = new PagedCollectionView(itemCount);  
  46.                      pcv.PageSize = PageSize;  
  47.                      this.PagerBar.Source = pcv; //这儿会自动触发this.dataPager1.PageIndexChanged事件  
  48.                  }  
  49.                  PagedCollectionView view = new PagedCollectionView(current);  
  50.                  this.GridListData.ItemsSource = view;  
  51.              }  
  52.          }  
  53.           
  54.      } 

 

本站推荐文章:
本站热点文章:
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色 情、暴力、反动的言论。
评价:
表情:
用户名:密码: 验证码:点击我更换图片