Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin Form textcell.contextactions text=";删除“;在android中不显示_Xamarin_Xamarin.forms - Fatal编程技术网

Xamarin Form textcell.contextactions text=";删除“;在android中不显示

Xamarin Form textcell.contextactions text=";删除“;在android中不显示,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我是xamarin forms的新手,通过使用iOS development Mac笔记本电脑制作的视频教程学习。我正在使用windows&VS2019制作xamarin forms。在使用ListView、TextCell和ContextActions时,当我在android emulator中选择名称时,我的mentuItem text=“Delete”或text=“Call”不会显示。但在iOS仿真器上选择名称的相同操作会使两个按钮(“删除”和“调用”)滑出。我附上了我的照片和导师的照片。

我是xamarin forms的新手,通过使用iOS development Mac笔记本电脑制作的视频教程学习。我正在使用windows&VS2019制作xamarin forms。在使用ListView、TextCell和ContextActions时,当我在android emulator中选择名称时,我的mentuItem text=“Delete”或text=“Call”不会显示。但在iOS仿真器上选择名称的相同操作会使两个按钮(“删除”和“调用”)滑出。我附上了我的照片和导师的照片。以下是本教程中的代码

我的xaml文件是`

                <? xml version = "1.0" encoding = "utf-8" ?>
           < ContentPage xmlns = "http://xamarin.com/schemas/2014/forms"
                             xmlns: x = "http://schemas.microsoft.com/winfx/2009/xaml"
                             x: Class = "WarMemorial.Excercises.ListViewContextActions" >

             < ListView x: Name = "listView" >

                   < ListView.ItemTemplate >

                       < DataTemplate >

                           < TextCell Text = "{Binding Name}"
                                          Detail = "{Binding Status}" >
                            < TextCell.ContextActions >
                                < MenuItem Text = "Call" IconImageSource = "phone.png"
                                              Clicked = "Call_Clicked"
                                              CommandParameter = "{Binding .}" ></ MenuItem >
                                < MenuItem Text = "Delete"
                                              Clicked = "Delete_Clicked" IconImageSource = "trash-can.png"
                                              CommandParameter = "{Binding .}" ></ MenuItem >

                            </ TextCell.ContextActions >

                        </ TextCell >
                    </ DataTemplate >
                </ ListView.ItemTemplate >
            </ ListView >
        </ ContentPage >









XAML.cs

        using System;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Input;
    using WarMemorial.Models;
    using Xamarin.Forms;
    using Xamarin.Forms.Xaml;

    namespace WarMemorial.Excercises
    {
        [XamlCompilation(XamlCompilationOptions.Compile)]
        public partial class ListViewContextActions : ContentPage
        {
            private ObservableCollection<Contacts> _contacts;

    
            public ListViewContextActions()
            {
                InitializeComponent();                     

                _contacts = new ObservableCollection<Contacts> {
                             new Contacts { Name = "Susana" },
                          new Contacts { Name = "Sara",  Status = "let's tallk" }
                    };
                listView.ItemsSource = _contacts;
            }

             private void Call_Clicked(object sender, EventArgs e)
            {
                var contact = (sender as MenuItem).CommandParameter as Contacts;

                DisplayAlert("Call", contact.Name, "OK");
            }

            private void Delete_Clicked(object sender, EventArgs e)
            {
                var contact = (sender as MenuItem).CommandParameter as Contacts;
                _contacts.Remove(contact);
            }
        }
    }
使用系统;
使用System.Collections.Generic;
使用System.Collections.ObjectModel;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
使用System.Windows.Input;
使用暖室模型;
使用Xamarin.Forms;
使用Xamarin.Forms.Xaml;
这是一项非常有趣的运动
{
[XamlCompilation(XamlCompilationOptions.Compile)]
公共部分类ListViewContextActions:ContentPage
{
私人可观察收集联系人;
公共ListViewContextActions()
{
初始化组件();
_contacts=新的ObservableCollection{
新联系人{Name=“Susana”},
新联系人{Name=“Sara”,Status=“let's tallk”}
};
listView.ItemsSource=\u联系人;
}
已单击私有无效调用(对象发送方,事件参数e)
{
var contact=(发送方为MenuItem)。CommandParameter为Contacts;
显示警报(“呼叫”,联系人姓名,“确定”);
}
已单击私有无效删除(对象发送者,事件参数e)
{
var contact=(发送方为MenuItem)。CommandParameter为Contacts;
_触点。移除(触点);
}
}
}

正如@Jason所说,你无法在iOS和Android上获得相同的上下文操作行为,另一方面,你可能希望使用实验,这将使你在两个平台上获得相同的滑动行为。

在iOS上,上下文操作是由滑动手势触发的,在Android上,它们是由长按触发的。@Jason非常感谢你,我是xamarin的新手,在尝试在iOS emulator上模拟相同的动作时,我总是被android emulator卡住,浪费时间。是否有任何链接可以帮助我更好地理解android emulator和iOS运营商的不同操作并节省时间(例如,在iOS emulator中刷卡与在android emulator中长按相同)?这些只是每个操作系统如何处理用户体验的根本区别。这不是Xamarin特有的。我肯定有一些文件概述了关键的区别,但我不知道有什么区别