Xamarin.Forms - 动态设置ListView单元格的高度

时间:2016-05-23 19:01:57

标签: ios listview xamarin xamarin.forms uicollectionviewcell

我正在开发一个Xamarin.Forms MVVM项目(在代码中,而不是XAML),我有一个ListView,其中每个单元格的高度不同(HasUnevenRows = true)。在每个单元格中,我希望能够单击一个按钮,并在单元格中添加或删除一些内容。我可以这样做,但是在我将项目滚出视图然后再返回视图之前,单元格的高度不会调整到内容。

从我在网上看到的情况来看,不可能让单元格的高度自动调整到其内容。所以我接下来要尝试明确设置单元格的高度。 在我目前的设置中,我有3个文件:

  • MyPage.cs - 包含var myListView = new ListView { HasUnevenRows = true, ItemTemplate = new DataTemplate(() => new MyViewCell())
  • MyViewCell.cs - 包含myListView中使用的ViewCell模板,以及我想要绑定到视图模型中的命令以便添加内容并明确更改高度的按钮查看单元格。
  • MyViewModel.cs - 包含添加/删除内容和更改视图单元格高度的命令。

问题:从View Model(MyViewModel.cs)中,如何访问ListView中的特定ViewCell以更改其高度?

1 个答案:

答案 0 :(得分:0)

在绑定到ListView的项中,在项模型中具有height属性,并将其绑定到ViewCell HeightRequest。然后,您可以在视图中没有任何代码的情况下引用它。