我在我的项目中使用 WPF Telerik GridView 和 DataPager,我想使用这两个控件显示项目列表。
我将DataPager 的Source属性绑定到 DataGrid 的Items属性(就像原始演示一样)。我的问题是:datapager 在第一次调用中加载所有实体!我只想加载页面大小(20)。
这是我的代码:
private void LoadProductsBackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
    using (AccountingContext context = new AccountingContext())
    {
        Dispatcher.Invoke((Action)(() => grdProducts.ItemsSource = new ObservableCollection<Item>(context.Items.Include("UnitType").Include("Producer").ToList())));
    }
}
<telerik:RadDataPager Name="dataPager" PageSize="20" Source="{Binding Items, ElementName=grdProducts}" />
    <telerik:RadGridView Name="grdProducts">
        <telerik:RadGridView.Columns>
            <telerik:GridViewDataColumn Header="{x:Static sr:EntitiesResource.ID}" DataMemberBinding="{Binding Path=ID}" />
            <telerik:GridViewDataColumn Header="{x:Static sr:EntitiesResource.ProductName}" DataMemberBinding="{Binding Path=Name}" Width="200" />
            <telerik:GridViewDataColumn Header="{x:Static sr:EntitiesResource.Producer}" DataMemberBinding="{Binding Path=Producer.Name}" Width="200" />
            <telerik:GridViewDataColumn Header="{x:Static sr:EntitiesResource.UnitType}" DataMemberBinding="{Binding Path=UnitType.Name}" Width="150" />
            <telerik:GridViewDataColumn Header="{x:Static sr:EntitiesResource.Price}" DataMemberBinding="{Binding Path=Price}" Width="150" />
            <telerik:GridViewDataColumn Header="{x:Static sr:EntitiesResource.Description}" DataMemberBinding="{Binding Path=Description}" Width="*" />
        </telerik:RadGridView.Columns>
    </telerik:RadGridView>