我在Xamarin中创建了一个页面,其中的表单应显示来自IList数据源的一些项目以及它们后面的视频。
将使用ListView显示项目列表。视频使用VideoView进行显示。
这是实际的页面代码:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:mm="clr-namespace:Plugin.MediaManager.Forms;assembly=Plugin.MediaManager.Forms"
x:Class="MyApp.Views.ItemDetailPage"
Title="{Binding Title}">
<ScrollView>
<StackLayout Orientation="Vertical" Padding="15">
<ListView
ItemsSource="{Binding Item.Properties}"
HasUnevenRows="true">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Padding="10">
<Label Text="{Binding .}"
LineBreakMode="NoWrap"
Style="{DynamicResource ListItemTextStyle}"
FontSize="16" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<mm:VideoView x:Name="MyVideo" WidthRequest="320" HeightRequest="190" HorizontalOptions="FillAndExpand" />
<Button x:Name="BtnPlayStop" Text="Iniciar" Clicked="PlayStop_Clicked" BackgroundColor="Silver" TextColor="White"/>
</StackLayout>
</ScrollView>
</ContentPage>
运行该应用程序时遇到的问题是:
我的XAML代码正确吗?我可以采取哪些更改来解决这种奇怪的行为?
编辑:我发现列表视图和视频之间什么都没有。这就是为什么难以滚动的原因。如果将手指放在列表视图中,则可以滚动,就像将手指放在视频或按钮中一样。但是,如果我将手指放在列表视图和视频之间,则不会执行滚动。很奇怪,不是吗?
谢谢 海梅
答案 0 :(得分:0)
最后,我在此页面中使用了解决方案:https://xamarinsharp.com/2017/05/16/listview-height-issue-in-xamarin-forms-how-to-solve-it/
基本上,这是根据绑定元素的数量在代码后面设置ListView的HeightRequest。
致谢
Jaime