TableView高度环绕(Xamarin.Forms)

时间:2017-07-07 08:14:04

标签: c# xamarin.forms tableview

我的桌面视图中有少量项目,但面对挑战,TableView没有根据其中的项目自动包裹它的高度,TableView很长但是有很少的项目,我怎么能解决这个问题。下面是我的XAML代码:

<TableView Intent="Form" x:Name="sales_tableView" RowHeight="-1">
            <TableView.Root >
                <TableSection Title="Agent Sales Details">

                    <TextCell Text="Agent Number" x:Name="agentNumber_txtcell" DetailColor="Purple"   />
                    <TextCell Text="Agent Rating "  x:Name="agentrating_txtcell" DetailColor="Purple"/>
                    <TextCell Text="Agent Phone "  x:Name="agentphone_txtcell" DetailColor="Purple" />
                    <TextCell Text="Agent Email " x:Name="agentemail_txtcell" DetailColor="Purple" />

                </TableSection>
            </TableView.Root>
        </TableView>

编辑:

这是屏幕截图:

The Image

3 个答案:

答案 0 :(得分:0)

因此,您只需将静态ViewCell添加到包含按钮的表格底部,并与后面代码中的click方法挂钩,然后将背景设置为透明。

<TableView Intent="Form" x:Name="sales_tableView" RowHeight="-1">
            <TableView.Root >
                <TableSection Title="Agent Sales Details">

                    <TextCell Text="Agent Number" x:Name="agentNumber_txtcell" DetailColor="Purple"   />
                    <TextCell Text="Agent Rating "  x:Name="agentrating_txtcell" DetailColor="Purple"/>
                    <TextCell Text="Agent Phone "  x:Name="agentphone_txtcell" DetailColor="Purple" />
                    <TextCell Text="Agent Email " x:Name="agentemail_txtcell" DetailColor="Purple" />

                    <ViewCell>
                        <StackLayout Orientation="Horizontal">
                            <Button Text="MY CLIENTS" Clicked="MyClickMethod" />
                        </StackLayout>
                    </ViewCell>

                </TableSection>
            </TableView.Root>
    </TableView>

我认为您可以在XAML中设置背景颜色,我想您只需添加此属性

BackgroundColor="Transparent"  

到tableview的xaml,但我不记得是否正确,无论哪种方式你都可以在后面的代码中做同样的事情:

sales_tableView.BackgroundColor = Color.Transparent;

答案 1 :(得分:0)

<TableView Intent="Settings" HasUnevenRows="true">

注意:HasUnevenRows =&#34; true&#34;

答案 2 :(得分:0)

关于这个问题,这就是我解决这个问题的方法,我注意到如果你设置一个范围为HeightRequest的TabelView的0,1,2 and above,那么TableView的高度仍然很长,所以我只需使用HeightRequest

中的值设置0,-1,-2,...即可

以下是我的代码示例:

  <TableView Intent="Form" x:Name="sales_tableView" RowHeight="-1" HeightRequest="-2">
                <TableView.Root >
                    <TableSection Title="Agent Sales Details">

                        <TextCell Text="Agent Number" x:Name="agentNumber_txtcell" DetailColor="Purple"   />
                        <TextCell Text="Agent Rating "  x:Name="agentrating_txtcell" DetailColor="Purple"/>
                        <TextCell Text="Agent Phone "  x:Name="agentphone_txtcell" DetailColor="Purple" />
                        <TextCell Text="Agent Email " x:Name="agentemail_txtcell" DetailColor="Purple" />

                    </TableSection>
                </TableView.Root>
            </TableView>

希望这会有所帮助,快乐编码