C# TableView高度包装(Xamarin.Forms)

C# TableView高度包装(Xamarin.Forms),c#,xamarin.forms,tableview,C#,Xamarin.forms,Tableview,我的表视图中有一些小项目,但我面临一个挑战TableView不会根据其中的项目自动包装其高度,TableView很长,但有一些小项目,我如何解决这个问题。下面是我的XAML代码: <TableView Intent="Form" x:Name="sales_tableView" RowHeight="-1"> <TableView.Root > <TableSection Title="Agent Sales

我的表视图中有一些小项目,但我面临一个挑战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>

编辑:

这是屏幕截图:

  <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>

因此,您只需在包含按钮的表格底部添加一个静态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>
到tableview的xaml,但我不太记得这是否正确,无论哪种方式,您都可以在代码隐藏中执行相同的操作:

sales_tableView.BackgroundColor = Color.Transparent;


注意:hasRows=“true”

关于这个问题,我就是这样解决的,我注意到如果你设置一个选项卡视图的
HeightRequest
,范围为
0,1,2及以上,那么TableView的高度仍然会很长,所以我只是用
0,-1,-2的值设置
HeightRequest
,…

下面是我的代码示例:

  <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>


希望这有帮助,快乐编码

您能提供一个它正在做什么的快速屏幕截图吗?可能会让我们更好地了解控件用于定位文本的约束条件。我已经提供了屏幕截图,检查了TableView和按钮之间的距离,TableView没有自动包装。让我试试看,这段代码工作起来很有魅力,不可思议,仍然是堆栈。谢谢@Lutaaaya
  <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>