繁体   English   中英

平板电脑设备上的UserControl滚动性能

[英]UserControl scroll performance on tablet device

我有一个带有一组按钮和标签的UserControl。 宽度1000像素Heigth 70像素。

在列表框(或我同时尝试过的ListView)中最多显示50个。 在我的笔记本上滚动完全没有问题,但目标硬件是在Atom Z670(1.5GHz,1核)上运行Win7且使用Intel GMA600 @ 400MHz的平板电脑。

在此平板电脑上滚动几乎是不可能的-卡住。 当我一次显示较少的控件(较高的高度)或仅显示其中的一部分(减小ListView或BoxView的宽度)时,它会变得更好。

我已经在互联网上阅读了一些有关WPF和滚动的文章,但没有一个真正起作用。 他们似乎主要指出了更多的元素。

这是否意味着该硬件无法在全屏宽度和高度上进行平滑滚动,还是我还有其他事情可以改善滚动性能?

CanContentScroll不会影响此效果(http://stackoverflow.com/questions/1033841/is-it-possible-to-implement-smooth-scroll-in-a-wpf-listview)

如果您不进行虚拟化,自动化可能会破坏大视图树。 因此,请尝试将其删除。

/// <summary>
/// List View without Automation
/// Fixes the bug with tablet and touch screens
/// </summary>
public class CustomListView : ListView
{
    protected override AutomationPeer OnCreateAutomationPeer()
    {
        System.Diagnostics.Debug.Print("Automation Again");
        return null;
    }

    protected override DependencyObject GetContainerForItemOverride()
    {
        return new NoAutomatioListViewItem();
    }

}

class NoAutomatioListViewItem : ListViewItem
{
    protected override AutomationPeer OnCreateAutomationPeer()
    {
        return null;
    }
}

如果不是这样,自动化将为每个项目和一个大列表(一万五千个项目足以看到已经出现的问题)创建整个视图树,它将很缓慢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM