Silverlight完全自定义DataPager

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

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

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

 

先上图

Silverlight完全自定义DataPager

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

 

首先引入命名空间

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

 

分页样式

 

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

  

View Code
  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     }

 

 

你可能感兴趣的:(silverlight)