Xamarin.Forms PullToRefresh不会在ListView为空时发生吗?

时间:2019-05-05 21:41:32

标签: c# xaml xamarin.forms

在Xamarin.Forms中,我有一个简单的ListView,它使用MVVM绑定到视图模型。

  <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代码,如果列表中至少有1个项目,则可以很好地工作。通过点击并下拉该项目,列表视图会刷新,但是点击并下拉该项目外部的列表不会导致PullToRefresh发生。就像ListView具有透明输入,但其项没有透明输入一样,因此可以正常工作。

示例图像中红色区域中的任何内容都显示了一个区域,如果我点击并拖动该区域,活动指示器将正常显示并进行刷新。点击并拖动到绿色的任何位置都会导致视图不刷新,并且活动指示符也不会出现。 Example

我不会显示视图模型,因为视图存在问题。我还尝试将背景色设置为红色,检查透明是否引起问题,可惜情况并非如此。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

尝试添加VerticalOptions =“ StartAndExpand”。

Right now, I am generating the JWT immediately after login, and setting it as a cookie. I want to use header instead of cookie. How can I achieve this?

此属性告诉View应该覆盖屏幕的多少空间。如果您不添加它,则视图将仅覆盖显示其所需数据所需的任何长度。

答案 1 :(得分:0)

我只是在我这边转载了您的问题。经过研究,我发现它是Xamarin.forms 3.5.0中的已知问题,并且仍然存在于Latest stable 3.6.0.344457中。

WorkAround 将您的Xamarin.forms版本降级为3.4.0

此外,我在最新的预发行版4.0.0.394984-pre10中对其进行了测试,并且效果很好。因此,我相信这个问题将在下一发行版中得到解决。

您可以按照此issue来检查过程。