【问题标题】:Xamarin - Deselect Listview Item does not work properly in iOSXamarin - 取消选择列表视图项在 iOS 中无法正常工作
【发布时间】:2019-06-11 20:24:44
【问题描述】:

我有一个列表视图,如果我再次点击它,我希望取消选择一个项目。所以基本上我点击一个它被选中的项目我再次点击它被取消选择。 我的代码在 Android 上运行良好。它也适用于iOS,唯一不起作用的是,如果我点击一个项目,它的背景颜色会改变,但如果我取消选择它,它的背景颜色应该会变回来。这发生在 Android 上,但不在 iOS 上。为什么“mylistview.selecteditem = null”可以在 Android 上正常工作,但在 iOS 上不能正常工作?

public void AnwesenheitTapped(object sender, ItemTappedEventArgs args)
{
    if (args.Item as Anwesenheit != Anwesenheit)
    {
        Anwesenheit = args.Item as Anwesenheit;
        ViewModel.Anwesenheit = args.Item as Anwesenheit;
        if (Anwesenheit == null)
        {
            return;
        }
        ViewModel.AlsAbwesendEintragenButton = true;
        ViewModel.Datum = Anwesenheit.Datum;
        AnwesenheitenDatum.IsEnabled = false;
        if (Anwesenheit.Anmeldungsart == "Früh")
        {
            Anmeldungsart.SelectedIndex = 0;
        }
        else if (Anwesenheit.Anmeldungsart == "Mittags")
        {
            Anmeldungsart.SelectedIndex = 1;
        }
        else
        {
            Anmeldungsart.SelectedIndex = 2;
        }
        AnwesenheitenLabel.Text = "Anwesenheit bearbeiten:";
        AnwesenheitenButton.Text = "Anwesenheit bearbeiten";
        ViewModel.Edit = true;
    }
    else
    {
        Anwesenheit = null;
        ViewModel.Datum = DateTime.Today;
        AnwesenheitenDatum.IsEnabled = true;                
        ViewModel.AlsAbwesendEintragenButton = false;
        Anmeldungsart.SelectedIndex = 0;
        ViewModel.Edit = false;
        AnwesenheitenLabel.Text = "Neue Anwesenheit:";
        AnwesenheitenButton.Text = "Neue Anwesenheit hinzufügen";
        BetreuungsoptionenListView.SelectedItem = null;
    }
}

【问题讨论】:

    标签: ios listview xamarin listviewitem


    【解决方案1】:

    您的 Xamarin Forms 版本是什么,Xamarin Forms 3.5 for iOS listview 中存在一个错误,该错误已在 3.6 版中修复

    【讨论】:

    • 你能附上错误链接吗?我在 XF 3.5 和 3.6 上进行测试,这两个版本都可以正常工作(当 SelectedItem 设置为 null 时背景颜色变回)。
    • 在我的依赖项中它说 Xamarin.Forms (3.0.0.561731)。我用 VS 2019 安装程序安装了它……Vis​​ual Studio 没有告诉我有更新……
    • 你能分享我一个基本的样本吗?
    • 基本样本是什么意思?这是一个普通的 Listview 和上面的代码。这是基本的,不是吗?
    • 我使用了你的代码,但效果很好,请将你的项目发给我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    • 2015-01-09
    相关资源
    最近更新 更多