我想使用下面提到的代码和绑定在iOS设备的XAML文件中设置ListView的高度。
1)我已经使用了可观察的集合来通知属性值何时更新并且它正在收到通知并设置正确的值但是它没有反映在iOS模拟器或设备中但是适用于Android& Windows Phone设备。
<ListView Grid.Row="2" Grid.Column="1" ItemsSource="{Binding QuestionAnswerList,Mode=TwoWay}" SelectedItem="{Binding SelectedData,Mode=TwoWay}"
HasUnevenRows="true" RowHeight="{Binding Custom_height,Mode=TwoWay}" BackgroundColor="Silver" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
<ListView.ItemTemplate>
2)我试图静态设置列表视图的行高,但这也不起作用。
3)我没有给出任何高度并设置Grid RowDefinition height =“*”但是它也没有设置ListView的高度,而是重叠下一个ListView行的细节。
感谢。
答案 0 :(得分:15)
在iOS
上,当您将ListView.HasUnevenRows
设置为true
时,您还必须为每个单元格属性设置Cell.Height
,如渲染器无法从内容中推断出来。
您也可以像在示例中一样使用ListView.RowHeight
,甚至是行。在这种情况下,请勿设置ListView.HasUnevenRows
(或将其设置为false
)。
答案 1 :(得分:0)
尝试使用StackLayout代替ListView:
<StackLayout BindableLayout.ItemsSource="{Binding Items}">
<BindableLayout.ItemTemplate>
<DataTemplate>
<StackLayout Margin="0,0,0,5">
<Label Text="{Binding Name}"/>
</StackLayout>
</DataTemplate>
</BindableLayout.ItemTemplate>
</StackLayout>