Windows 在运行时添加更多项目时,FlipView不会显示要在桌面中导航的箭头

Windows 在运行时添加更多项目时,FlipView不会显示要在桌面中导航的箭头,windows,uwp,win-universal-app,windows-10-universal,uwp-xaml,Windows,Uwp,Win Universal App,Windows 10 Universal,Uwp Xaml,我正在使用FlipView显示页面中的某些项目。Web服务我从支持页面获取数据,因此当用户滚动到当前的最后一个项目时,我将向FlipView添加下一页的项目。例如,如果页面大小为5,则每当FlipView的SelectedIndex为4、9、14、19等时,我将再添加5个项目。索引从0开始 FlipView有两个小箭头,我们可以在桌面环境中使用鼠标在FlipView中导航。当我们在最后一个项目,右箭头将消失,因为我们不能再进一步。现在,如果此时向列表中添加更多项目,右箭头不会再次出现,因此不会给

我正在使用FlipView显示页面中的某些项目。Web服务我从支持页面获取数据,因此当用户滚动到当前的最后一个项目时,我将向FlipView添加下一页的项目。例如,如果页面大小为5,则每当FlipView的SelectedIndex为4、9、14、19等时,我将再添加5个项目。索引从0开始

FlipView有两个小箭头,我们可以在桌面环境中使用鼠标在FlipView中导航。当我们在最后一个项目,右箭头将消失,因为我们不能再进一步。现在,如果此时向列表中添加更多项目,右箭头不会再次出现,因此不会给人留下FlipView中有更多项目的印象。只有在以下情况下,右箭头才会重新出现:

我们将鼠标悬停在左箭头上 我们单击右箭头应该在的位置 这不是一个好的解决方案,需要进一步的用户教育。有没有办法解决这个问题


以下是一份git回购协议,其中显示了以下问题:。要重新设置问题,请滚动至最后一项,然后使用下面的按钮向FlipView添加更多项目。

这应由控件本身决定。如果您确实希望自动显示按钮,则可以在添加更多项目后强制显示名为NextButtonHorizontal in的下一个按钮。对于如何获取NextButtonHorizontal按钮,可以使用类。例如:

private void OnButtonClick(object sender, RoutedEventArgs e)
{
    AddImageUris();  
    IEnumerable<Button> items = FindVisualChildren<Button>(myFlipView);
    foreach (Button item in items)
    {
        if (item.Name == "NextButtonHorizontal")
        {
            item.Visibility = Visibility;
        }
    }
}
private static IEnumerable<T> FindVisualChildren<T>(DependencyObject depObj) where T : DependencyObject
{
    if (depObj != null)
    {
        for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++)
        {
            DependencyObject child = VisualTreeHelper.GetChild(depObj, i);
            if (child != null && child is T)
            {
                yield return (T)child;
            }

            foreach (T childOfChild in FindVisualChildren<T>(child))
            {
                yield return childOfChild;
            }
        }
    }
}

顺便说一下,这可以解决你的问题,但我不太推荐这样做。避免使用更大的集合的翻转视图控件,对于大型集合,请考虑ListView或GRIDView。更多详情请参考。

效果很好!我同意这应该是控制本身的责任。