Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有大列表的UWP列表视图溢出_Uwp_Uwp Xaml - Fatal编程技术网

带有大列表的UWP列表视图溢出

带有大列表的UWP列表视图溢出,uwp,uwp-xaml,Uwp,Uwp Xaml,我试图在UWP应用程序中使用ListView来显示一些表格数据。我能够很好地生成表,但是,当将ListView绑定到一个大于大约50000个项的集合时,ListView项溢出了ListView本身的边界,这可以通过对ListView应用边界来看到,如附图所示 有什么方法可以防止这种行为吗? 这似乎是UWP中的一个错误,已报告但尚未修复(请参阅) 我认为有一个解决方案可以从理论上解决这个问题:使用Clip来剪辑列表视图的可见部分: <ListView Width="300" Height=

我试图在UWP应用程序中使用ListView来显示一些表格数据。我能够很好地生成表,但是,当将ListView绑定到一个大于大约50000个项的集合时,ListView项溢出了ListView本身的边界,这可以通过对ListView应用边界来看到,如附图所示

有什么方法可以防止这种行为吗?


这似乎是UWP中的一个错误,已报告但尚未修复(请参阅)

我认为有一个解决方案可以从理论上解决这个问题:使用
Clip
来剪辑
列表视图的可见部分:

<ListView Width="300" Height="200">
   <ListView.Clip>
      <RectangleGeometry Width="300" Height="200" />
   </ListView.Clip>
</ListView>


但这将导致另一个问题——最后的项目永远无法显示,因为它们将溢出并被剪裁。您可以通过向列表中添加“假”空项来解决此问题,但这当然是非常次优的解决方案。如果API是自己修复的,那就更好了。

请发布XAML代码。这种行为只会发生在超过50000项的情况下?是的,如果我将其更改为40000项左右,那么在该链接中看起来就没有溢出,他们只是将询问者定向到msdn站点,因为问题与VS无关,这是大约一年前发布的。我在那个网站上找不到任何活跃的问题,我也很难通过谷歌搜索找到任何结果,甚至是那些有同样问题的人。我想,因为listview并不是为winforms设计的(这正是我试图轻松实现的),所以这个问题可能并不广为人知,所以我想我会在MSDN上发布,看看他们会带来什么。很高兴知道不仅仅是我疯了……你可以试试Telerik UWP工具包中的
DataGrid
控件,它可能更符合你的需要。但是,如果您在MSDN论坛上报告该错误,让开发团队知道itI最初使用的是Telerik提供的控件,因为它更适合,但是它遇到了相同的问题,我认为这是与该控件隔离的。这就是为什么我开始搜索替代方法,并发现它也出现在标准listview中。telerik控件似乎也没有我可以建立的“扩展”选择模式(Ctrl和Shift单击选择),如果它没有溢出容器,这将是一个很好的选择。那就太糟糕了。。。我认为应该升级。我可能会制作一个Github复制程序,并尝试将其发布给微软的一些人。一旦你在MSDN上写了文章,你能给我发一个链接吗?是的,确实有一些奇怪的事情发生了,我不能在那里发布图片或链接,但这是我关于MSDN的开放性问题,我的XAML和问题的解释。
<ListView Width="300" Height="200">
   <ListView.Clip>
      <RectangleGeometry Width="300" Height="200" />
   </ListView.Clip>
</ListView>