C# TableView高度包装(Xamarin.Forms)
我的表视图中有一些小项目,但我面临一个挑战TableView不会根据其中的项目自动包装其高度,TableView很长,但有一些小项目,我如何解决这个问题。下面是我的XAML代码: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 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>