首页 > 解决方案 > xamarin 表单 4.6 打破 ListView?

问题描述

所以我的项目中有 xamarin.forms 4.5.0.725,我有一个内容页面,有一个像这样的列表视图

<RefreshView Refreshing="Refresh_Refreshing" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
    <ListView x:Name="alertsList" SelectionMode="None" SeparatorColor="DimGray" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <Grid Padding="5">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto"/>
                            <ColumnDefinition Width="*"/>
                            <ColumnDefinition Width="Auto"/>
                        </Grid.ColumnDefinitions>
                        <Image Grid.Column="0" WidthRequest="24" Aspect="AspectFit" Source="someicon"/>
                        <Label Grid.Column="1" Text="{Binding Path=Message, Mode=OneWay}" FontSize="Small" VerticalTextAlignment="Center" />
                        <Button Grid.Column="2" Text="Fix" BindingContext="{Binding}" Clicked="Fix_Clicked" FontSize="Small" HeightRequest="35" WidthRequest="50" VerticalOptions="Center"/>
                    </Grid>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</RefreshView>

和按钮点击句柄

void Fix_Clicked(object sender, EventArgs e)
{
    DisplayAlert("alert", "button clicked", "ok");
}

一切正常,直到我将 xamarin.form 更新到 4.6 或更高版本,我尝试4.6.0.1180 4.7.0.1351 4.8.0.1364了 listview 行中的按钮不再触发点击事件,我也尝试过CommandCommandParameter而不是Clicked

无论如何要解决这个问题或解决方法?

编辑:从谷歌驱动器创建了一个示例项目

运行它,点击没问题;“manage nuget packages for solution”,更新XF到4.6.0.1180以上,再次运行,点击不起作用。

标签: listviewxamarin

解决方案


很奇怪,我测试了一下,效果很好。

将 XF 版本更新为4.6.0.1180

在此处输入图像描述

我运行它的效果:

在此处输入图像描述

我在用着

微软 Visual Studio 企业版 2019

版本 16.5.4

Xamarin.Fomrs 4.6.0.1180


推荐阅读