C# ListView为空时是否不发生Xamarin.Forms PullToRefresh?
在Xamarin.Forms中,我有一个简单的ListView,它使用MVVM绑定到视图模型C# ListView为空时是否不发生Xamarin.Forms PullToRefresh?,c#,xaml,xamarin.forms,C#,Xaml,Xamarin.forms,在Xamarin.Forms中,我有一个简单的ListView,它使用MVVM绑定到视图模型 <ListView Grid.Row="1" ItemsSource="{Binding ContactsGrouped}" IsGroupingEnabled="true" IsPullToRefreshEnabled="True"
<ListView Grid.Row="1"
ItemsSource="{Binding ContactsGrouped}"
IsGroupingEnabled="true"
IsPullToRefreshEnabled="True"
RefreshCommand="{Binding RefreshCommand}"
IsRefreshing="{Binding IsRefreshing}"
GroupDisplayBinding="{Binding Key}"
GroupShortNameBinding="{Binding Key}"
BackgroundColor="Transparent"
SelectionMode="Single"
HasUnevenRows="true"
SeparatorColor="#cccccc">
<ListView.ItemTemplate>
<cr:MyItemTemplate>
</ListView.ItemTemplate>
</ListView>
这是我的xaml代码,如果列表中至少有一个项目,它就可以正常工作。通过点击并向下拉项目,列表视图会很好地刷新,但是点击并向下拉项目外部,列表不会导致PullToRefresh发生。这几乎就像ListView有透明的输入,但它的项没有,因此允许它工作
在我的示例图像中,红色的任何内容都显示了一个区域,在该区域中,如果我点击并向下拖动活动指示器,活动指示器将显示良好,并进行刷新。但是,轻触并拖动绿色区域中的任意位置会导致视图不刷新,活动指示器不显示。
我不会显示我的视图模型,因为问题在于视图。我还尝试将背景色设置为红色,检查透明是否导致了问题,遗憾的是事实并非如此。有什么想法吗?尝试添加VerticalOptions=“StartAndExpand”
此属性告诉视图屏幕应覆盖多少空间。如果不添加它,视图将只覆盖显示所需数据所需的任何长度。尝试添加VerticalOptions=“StartAndExpand”
此属性告诉视图屏幕应覆盖多少空间。如果您不添加它,那么视图将只覆盖显示所需数据所需的任何长度。我只是在我这边重复了您的问题。经过一些研究,我发现它是Xamarin.forms 3.5.0中的已知问题,并且它仍然存在于
最新的稳定版本3.6.0.344457
中
解决方法是将您的Xamarin.forms版本降级为3.4.0
另外,我在最新的prerelease4.0.0.394984-pre10
中对其进行了测试,效果良好。所以,我相信这个问题会在下一个版本中得到解决
您可以按此检查流程。我刚才在我这边重复了您的问题。经过一些研究,我发现它是Xamarin.forms 3.5.0中的已知问题,并且它仍然存在于
最新的稳定版本3.6.0.344457
中
解决方法是将您的Xamarin.forms版本降级为3.4.0
另外,我在最新的prerelease4.0.0.394984-pre10
中对其进行了测试,效果良好。所以,我相信这个问题会在下一个版本中得到解决
您可以按此检查流程。您是否在此处输入了拼写错误,是否为VerticalOptions?请说明如何将其添加到问题中给出的代码中(复制并粘贴代码并添加建议),并解释VerticalOptions属性设置的作用。这将大大提高您的答案和代表性。感谢您的回复,但ListView确实占据了整个空间。我将背景设置为红色来检查。问题是,当我点击并向下拖动列表视图时,刷新不会发生,但如果我点击并向下拖动列表视图中的某个项目,它会正常工作。因此,如果列表视图为空,则无法刷新。我认为,如果列表视图没有要刷新的项,则您必须再次分配列表项。您是否在此处键入了错误,是否应该是VerticalOptions?请说明如何将其添加到问题中给出的代码中(复制并粘贴代码并添加建议),并解释VerticalOptions属性设置的作用。这将大大提高您的答案和代表性。感谢您的回复,但ListView确实占据了整个空间。我将背景设置为红色来检查。问题是,当我点击并向下拖动列表视图时,刷新不会发生,但如果我点击并向下拖动列表视图中的某个项目,它会正常工作。因此,如果列表视图为空,则无法刷新。我认为,如果列表视图没有要刷新的项,则必须再次分配列表项。从项目外部向下拉是什么意思?如果listView是空的,当您拉动刷新时,您能看到活动指示器吗?下拉项目外部是什么意思?如果listView是空的,当您拉刷新时,您能看到活动指示器吗?我将Xamarin更新为4.5版,问题仍然存在。我将Xamarin更新为4.5版,问题仍然存在
<ListView Grid.Row="1"
ItemsSource="{Binding ContactsGrouped}"
IsGroupingEnabled="true"
IsPullToRefreshEnabled="True"
RefreshCommand="{Binding RefreshCommand}"
IsRefreshing="{Binding IsRefreshing}"
GroupDisplayBinding="{Binding Key}"
GroupShortNameBinding="{Binding Key}"
BackgroundColor="Transparent"
SelectionMode="Single"
HasUnevenRows="true"
SeparatorColor="#cccccc"
VerticalOptions="StartAndExpand">
<ListView.ItemTemplate>
<cr:MyItemTemplate>
</ListView.ItemTemplate>
</ListView>