我希望用ListView
填充项目,只要它们适合当前页面,我就不必滚动。为此,我想添加一个项目,检查它的高度,如果它太大而无法放入剩下的空间我想删除它。
我的问题是:
在Windows 8.1中,ListView
控件没有ItemRealized
或ItemCreated
事件。那么何时检查物品的容器尺寸?
我尝试通过
获取大小UIElement container = (UIElement)ItemsListView.ContainerFromItem(obj);
double height = container.DesiredSize.Height;
感谢您的帮助!
答案 0 :(得分:0)
不幸的是,除了TabControl之外,我不相信分页集合有内置的解决方案,这可能不是你想要的。
分页通常是应该在ViewModel /业务方面完成的事情,所以如果你提前了解对象的大小,你可以做类似这样的事情How to paginate an ObservableCollection?或{{ 3}},为视图提供正确数量的项目。
如果它需要更具动态性和灵活性,那么使用WrapPanel
作为ItemsControl
MVVM paging & sorting的ItemsPanel,这是一篇非常好的关于分页的文章。