我正在尝试创建一个ListView,它在ItemTemplate上有一个DataTemplateSelector。基本上,它看起来像一个可扩展的单元格,在选择项目时会显示更多信息。
我在DataTemplateSelector上的代码:
protected override DataTemplate OnSelectTemplate(object item, BindableObject container)
{
return ((ItemAjuda)item).Selecionado ? ExpandedTemplate : SimpleTemplate;
}
这是我在视图上的代码:
<ListView
x:Name = "listView"
SeparatorVisibility = "None"
RowHeight = "-1"
HasUnevenRows="true"
ItemsSource="{Binding Itens}"
SelectedItem="{Binding ItemSelecionado, Mode=TwoWay}"
BackgroundColor = "{StaticResource DefaultBackground}">
<ListView.ItemTemplate>
<local:AjudaTemplateSelector/>
</ListView.ItemTemplate>
</ListView>
它在Android上完美运行,但在IOS上,单元格出现了奇怪的行为。行高改变,但它看起来不像一个不均匀的行:( Ps:我已经在单元格上尝试过ForceUpdateSize(),但不幸的是它没有改变任何东西(可能是因为DataTemplateSelector?)