首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分页itemscontrol

分页itemscontrol
EN

Stack Overflow用户
提问于 2014-04-20 22:10:27
回答 1查看 1.6K关注 0票数 0

我有一个绑定到itemscontrol.For的视频列表(Url+title),现在我使用滚动查看器来滚动所有视频,但我设法对项目控件进行分页。这是我的itemscontrol:

代码语言:javascript
复制
<ItemsControl x:Name="_imageList"  HorizontalAlignment="Right" Margin="0,10,10,10"  Width="804"  >
    <ItemsControl.Template>
        <ControlTemplate>
            <ScrollViewer x:Name="ScrollViewer" Padding="{TemplateBinding Padding}" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
                <ItemsPresenter />
            </ScrollViewer>
        </ControlTemplate>
    </ItemsControl.Template>
    <ItemsControl.ItemsPanel>
                <ItemsPanelTemplate>
            <UniformGrid Columns="5" IsItemsHost="True"/>
                </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <!--<DataTemplate.Resources>
                <Image x:Key="image" Source="{Binding thumbnail}" />
            </DataTemplate.Resources>-->
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition/>
                    <RowDefinition/>
                </Grid.RowDefinitions>
                <Button Grid.Row="0" Click="btn_Clicked" Margin="10,20,0,0" BorderThickness="0" Height="100" Width="200">
                    <Button.Background>
                        <ImageBrush ImageSource="{Binding thumbnail}"  />
                    </Button.Background>
                </Button>
                <TextBlock Grid.Row="1" x:Name="nom" Margin="10,0,0,0" TextAlignment="Center" Text="{Binding title}" VerticalAlignment="Center"/>
            </Grid>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

你有什么办法吗?这是后面的代码

代码语言:javascript
复制
public void Images(int id)
    {
        var images = new ObservableCollection<Video>();
        var wcf = new ServiceReferenceVideo.VideoServiceClient();
        foreach (var item in wcf.GetKidVideos(id))
        {

            images.Add(item);
        }
        _imageList.ItemsSource = images;
    }
EN

回答 1

Stack Overflow用户

发布于 2014-04-20 22:26:49

据我所知,ItemsControl目前不直接支持分页。

您不能对View (因此控件)本身进行分页,而是对视频集合进行分页。您可以实现一个包含所有视频的主集合。现在,如果您想要对此集合进行分页,一种方法是使用第二个集合,该集合将不断被清除,并用主集合的下10项填充。

您可以从主集合(images)中提取n个项目的特定计数,如下所示:

代码语言:javascript
复制
ObservableCollection<Video> PageCollection = images.Take(n);

如果您未绑定到ItemsControl,可以查看this指南,该指南介绍了DataGrid和ListBox控件的分页

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23183396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档