我正在尝试在listview上更改ViewCell,但下面的代码对我不起作用:
CGRect r1 = [[[signature.rawPoints objectAtIndex:i]objectAtIndex:j] CGRectValue];
答案 0 :(得分:45)
ListView.RowHeight
属性
ListView本身ViewCell.Height
然后将ListView.HasUnevenRows
设置为true
(但会产生一些性能影响)答案 1 :(得分:7)
设置ViewCell的高度应该有效。
尝试将StackLayout的VerticalOptions
和HorizontalOptions
设置为FillAndExpand
。
答案 2 :(得分:7)
仅当height
或ViewCell
属性设置为ListView.HasUnevenRows
时,设置TableView.HasUnevenRows
的{{1}}才有效。
答案 3 :(得分:3)
只需将Grid的 RowDefinition 的高度设置为 自动 ,无论您的标签包装在哪里。像这样:
<ListView ItemsSource="{Binding Gastos}" HasUnevenRows="True" SeparatorVisibility="None">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell >
<Grid Padding="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label Text="{Binding Id}" VerticalOptions="Start"/>
<Label Grid.Column="1" Text="{Binding Descripcion}" LineBreakMode="WordWrap"/>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
答案 4 :(得分:0)
现在将2019年的正确高度设为固定高度:
<ListView RowHeight="100" />
如果您不希望所有行都固定高度,请使用:
<ListView HasUnevenRows="true" />
答案 5 :(得分:-2)
高度/重量属性在Xamarin中大多是只读的。您无法设置ViewCell的大小。
但是,您可以更改StackLayout的HeightRequest属性以达到您想要的效果。