c# - 在 Xamarin Forms 的点击/点击事件处理程序中传递对象

标签 c# listview xamarin xamarin.forms eventargs

这是我的工作类:

public class Job
{
        public string Id{ get; set;}
        public string Name{ get; set;}
}

这是我的 ListView:

public class JobListePage:ContentPage
    {
        // Members
        private ListView lstView;

        // Constructor    
        public JobListePage ()
        {
            // Set members
            lstView = new ListView ();

            // Create job objects
            Job[] jobs = {new Job(){Id="1", Name="Benny"}, new Job(){Id="2", Name="Lukas"}};

            // Fill listview with job objects
            lstView.ItemsSource = jobs;

            // HOW CAN I PASS THE TAPPED OBJECT HERE???
            lstView.ItemTapped += async (o, e) => {
                await DisplayAlert("Tapped",  "HERE I WANT TO SHOW THE ID", "OK");
                ((ListView)o).SelectedItem = null; // de-select the row
            };

            ....

现在如何将点击的“工作对象”传递给事件?

您可以看到我向用户显示了一条消息。在那里它应该代表被点击对象的 ID。

最佳答案

尝试:

        lstView.ItemTapped += async (o, e) => {
            var myList= (ListView)o;
            var myJob = (myList.SelectedItem as Job);
            await DisplayAlert("Tapped",  myJob.Id, "OK");
            myList.SelectedItem = null; // de-select the row
        };

关于c# - 在 Xamarin Forms 的点击/点击事件处理程序中传递对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28985571/

相关文章:

ios - 如何在 Xamarin iOS 上获取 Google map 的许可文本?

c# - 统计某个类的对象被实例化的次数

c# - 为什么在ubuntu上构建dotnet会输出dll文件?

android - 在 ListView 中突出显示并保持突出显示所选项目

java - 如何处理android中 ListView 项中的复选框事件

c# - Visual Studio 无法安装 Android SDK(API 级别 19 和 21)(缺少 extra-android-support)

android - 在 Xamarin 上使用数据库的正确方法

c# - AutoMapper新增的IValueResolver如何使用?

c# - 传递 Windows 服务参数以供其执行

android - 如何更改抽屉导航中列表选定项目的颜色?