如何隐藏或删除由xaml创建的特定tableSection(Xamarin.forms)?

时间:2016-05-07 20:25:01

标签: xamarin tableview xamarin.forms

我正在使用Xamarin.form创建应用程序。

我创建了tableview,它有三个来自xaml的部分。 我想隐藏或删除最后一部分(整个部分,使用sectionTitle)。

但不幸的是,Xamarin xaml并不支持条件处理。 (仅当元素具有isVisible属性但tableSection没有它时才有效)

我可以做任何选择吗?

感谢。

2 个答案:

答案 0 :(得分:18)

是的,您可以动态删除部分,执行以下操作:

XAML:

<TableView x:Name="Table">
    <TableSection x:Name="Section">
        <TextCell Text="something"/>
    </TableSection>
    <TableSection x:Name="Section2">
        <TextCell Text="something2"/>
    </TableSection>
</TableView>

代码背后:

Table.Root.Remove(Section);

-OR -

Table.Root.Remove(0); //If you know the index of the section

如果您需要在某些时候将其添加回来,请务必将其存储在代码后面的变量中,然后再将其删除:

TableSection section = Table.Root[0];

-OR -

TableSection section = Table.Root.IndexOf(Section);

答案 1 :(得分:-1)

TableSection section = Table.Root.IndexOf(Section);

错误,因为IndexOf返回int

尝试

TableSection section = Table.Root[Table.Root.IndexOf(Section)];