如何获得项目后的高度?

时间:2014-07-18 15:49:40

标签: c# wpf xaml windows-8

我希望用ListView填充项目,只要它们适合当前页面,我就不必滚动。为此,我想添加一个项目,检查它的高度,如果它太大而无法放入剩下的空间我想删除它。

我的问题是:

  1. 有更聪明的方法可以解决这个问题吗?
  2. 何时检查已实现物品的高度?
  3. 在Windows 8.1中,ListView控件没有ItemRealizedItemCreated事件。那么何时检查物品的容器尺寸?

    我尝试通过

    获取大小
    UIElement container = (UIElement)ItemsListView.ContainerFromItem(obj);
    double height = container.DesiredSize.Height;
    

    感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

不幸的是,除了TabControl之外,我不相信分页集合有内置的解决方案,这可能不是你想要的。

分页通常是应该在ViewModel /业务方面完成的事情,所以如果你提前了解对象的大小,你可以做类似这样的事情How to paginate an ObservableCollection?或{{ 3}},为视图提供正确数量的项目。

如果它需要更具动态性和灵活性,那么使用WrapPanel作为ItemsControl MVVM paging & sorting的ItemsPanel,这是一篇非常好的关于分页的文章。