是否可以在MonoTouch中确定用户是否单击了BadgeElement中的图像?

时间:2013-03-29 22:21:01

标签: c# ios xamarin.ios monotouch.dialog

我修改了TODO列表应用程序以使用徽章元素而不是布尔元素,如下所示:

    protected void PopulateTable()
    {
        tasks = TaskManager.GetTasks().ToList ();
        UIImage ticked = new UIImage("checkbox_checked.png");
        UIImage unticked = UIImage.FromFile("checkbox_unchecked.png");

        Root = new RootElement("Tasky") {
            new Section() {
                from t in tasks
                select (Element) new BadgeElement(t.Completed ? ticked : unticked, (t.Name==""?"<new task>":t.Name), delegate {
                        Console.WriteLine("???");

                    })
            }
        }; 
    }

是否可以检查用户是否点击了图标而不是文字,并更改了行为?基本上我想这样做......

        var task = tasks[indexPath.Row];

        if(clickedIcon) {
            currentTask = task;
            task.Completed = !task.Completed;
            TaskManager.SaveTask(currentTask);
        } else {
            ShowTaskDetails(task);
        }

但我没有在IndexPath中看到任何允许我访问列或tapped元素的参数。

任何想法

1 个答案:

答案 0 :(得分:0)

您需要创建BadgeElement的自定义版本,并且基本上为图像引发一个事件,该事件与为文本引发事件分开。

幸运的是,整个source code is available,所以你可以复制/粘贴BadgeElement,重命名它,创建一个新的唯一键并修改它。