如何并排获得带有2个按钮的元素?

时间:2013-12-12 18:00:15

标签: xamarin.ios xamarin mvvmcross monotouch.dialog

我需要使用MvvmCross将两个按钮并排的Monotouch.Dialog元素

有人管理过吗?

到目前为止我有这个但是知道它不会起作用,因为我无法知道哪个按钮被点击了:

public class DoubleButton : Element, IElementSizing{
    UIImage image1;
    UIImage image2;

    public DoubleButton (UIImage image1,UIImage image2, string caption): base(caption)
    {
        this.image1 = image1;
        this.image2 = image2;
    }

    protected override UITableViewCell GetCellImpl (UITableView tv)
    {
        var cell = base.GetCellImpl (tv);
        cell.BackgroundColor = UIColor.Clear;
        cell.SelectionStyle = UITableViewCellSelectionStyle.None;

        var imageView1 = new UIImageView (image1);
        var imageView2 = new UIImageView (image2);

        cell.ContentView.Add (imageView1);
        cell.ContentView.Add (imageView2);
        return cell;
    }

    public float GetHeight (UITableView tableView, NSIndexPath indexPath)
    {
        return 80;
    }
}

1 个答案:

答案 0 :(得分:0)

如果你想要两个按钮和两个命令,那么你可以添加两个按钮和两个命令 - 然后让按钮触发命令。

public class DoubleButton : Element, IElementSizing
{
   UIButton button1;
   UIButton button2;

   public ICommand Command1 { get;set; }
   public ICommand Command2 { get;set; }

   public DoubleButton (UIButton b1,UIButton b2, string caption): base(caption)
   {
       this.button1 = button1;
       this.button2 = button2;

       this.button1.TouchUpInside += (s,e) => { if (Command1 != null) Command1.Execute(null); };
       this.button2.TouchUpInside += (s,e) => { if (Command2 != null) Command2.Execute(null); };
   }

   // ....