0

我正在尝试在我的 wpf 应用程序中实现 raddatapager。除了 pagesize 字段外,一切似乎都运行良好。我可以在我的页面中获取页面大小字段。它显示其他内容,例如总页数、下一个上一个按钮,但不显示页面大小字段。我想给用户一个选项来改变寻呼机的页面大小。我在 wpf 应用程序中找到了类似https://demos.telerik.com/aspnet-ajax/listview/examples/paging/pagingwithraddatapager/defaultcs.aspx的内容。

这是我的代码:

  <telerik:RadDataPager x:Name="radDataPager" 
           Source="{Binding DataList}" 
           Grid.Row="3" 
           Grid.Column="1"
           DisplayMode="All"                           
           PageSize="20" />
4

2 回答 2

1

PageSize 没有内置的 UI。但是,Telerik 的资源中有一个可运行的项目帮助文章说明了如何实现这一点。基本上,您可以修改 DataPagerPresenter 元素的默认 ControlTemplate。

于 2021-06-24T13:43:19.697 回答
1

此任务似乎没有内置 UI,但只需稍微修改模板即可实现。我试过这个,它似乎工作正常。

<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>

可能需要稍微修改放置以使其适应您的需求。

于 2021-06-24T11:23:31.313 回答