Telerik RadDataPager, как добавить поле размера страницы в пейджер
Я пытаюсь реализовать raddatapager в своем приложении wpf. Кажется, все работает нормально, кроме поля размера страницы. Я могу получить поле размера страницы на своей странице. Он показывает другие вещи, такие как общее количество страниц, следующая предыдущая кнопка, но не поле размера страницы. Я хочу дать пользователю возможность изменять размер страницы с пейджера. Я нашел что-то вроде этого https://demos.telerik.com/aspnet-ajax/listview/examples/paging/pagingwithraddatapager/defaultcs.aspx, но в приложении wpf.
Вот мой код:
<telerik:RadDataPager x:Name="radDataPager"
Source="{Binding DataList}"
Grid.Row="3"
Grid.Column="1"
DisplayMode="All"
PageSize="20" />
2 ответа
Кажется, что для этих задач нет встроенного пользовательского интерфейса, но это должно быть достижимо с небольшой модификацией шаблона. Я пробовал это, и, похоже, все работает нормально.
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type telerik:RadDataPager}">
<Grid>
<DataPager:DataPagerPresenter AutoEllipsisMode="{TemplateBinding AutoEllipsisMode}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" DisplayMode="{TemplateBinding DisplayMode}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" ItemCount="{Binding ItemCount, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" NumericButtonStyle="{TemplateBinding NumericButtonStyle}" NumericButtonCount="{TemplateBinding NumericButtonCount}" PageCount="{TemplateBinding PageCount}" PageSize="{Binding PageSize, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" PageIndex="{TemplateBinding PageIndex}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
<StackPanel Orientation="Horizontal" Margin="0 0 120 0" HorizontalAlignment="Right">
<TextBlock Text="Page Size:" VerticalAlignment="Center"/>
<TextBox Height="20" Width="20"
Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Mode=TwoWay, Path=PageSize}" />
</StackPanel>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
Могут потребоваться небольшие изменения размещения, чтобы адаптировать его к вашим потребностям.
Для PageSize нет встроенного пользовательского интерфейса. Однако в есть ресурсах Telerikработающий проект и справочная статья, в которой показано, как этого добиться. По сути, вы можете изменить ControlTemplate по умолчанию для элемента DataPagerPresenter.