public void Bind(Image contentItem, UIImageTableView parent)
 {
     _parent = parent;
     lblDate.Text = contentItem.DateTime.ToLocalTime().ToFriendlyDate ();
     lblAuthor.Text = contentItem.AuthorName;
     btnDelete.SetImage (UIImage.FromFile ("images/icons/delete.png"), UIControlState.Normal);
     btnDelete.TouchUpInside += (object sender, EventArgs e) => {
         _parent.RemoveRow(_contentItem);
     };
     btnPromote.SetImage (UIImage.FromFile ("images/icons/promote.png"), UIControlState.Normal);
     btnPromote.TouchUpInside += (object sender, EventArgs e) => {
         _parent.PromoteRow(_contentItem);
     };
     _contentItem = contentItem;
 }
        void Layout()
        {
            if (_tableView == null) {
                _tableView = new UIImageTableView ();
                var t = this.Frame;
                _tableView.Frame = new RectangleF (0, 0, UIScreen.MainScreen.ApplicationFrame.Width, UIScreen.MainScreen.ApplicationFrame.Height - 44); // 44 is height of nav bar
                //				_tableView.ScrollEnabled = false;
                _tableView.SeparatorStyle = UITableViewCellSeparatorStyle.None;
                _tableView.BackgroundColor = UIColor.FromRGB (242, 242, 242); //UIColor.FromPatternImage (UIImage.FromFile("images/login/loginBg.png"));

                // add a swipe handler for options
                var s = new UISwipeGestureRecognizer (SwipeHandler);
                s.Direction = UISwipeGestureRecognizerDirection.Left;
                _tableView.AddGestureRecognizer (s);
                s = new UISwipeGestureRecognizer (SwipeHandler);
                s.Direction = UISwipeGestureRecognizerDirection.Right;
                _tableView.AddGestureRecognizer (s);

                // wure up the remove row
                _tableView.RemoveRow = (image) => {

                    var alert = MBAlertView.AlertWithBody ("Are you sure you want to delete this image? You cannot undo this.", "No", null);
                    alert.AddButtonWithText ("Yes", MBAlertViewItemType.Destructive, () => {
                        // call server to delete the tweet
                        Helper.Default.ShowHud("deleting ...");
                        Api.Default.DeleteImageItem (image, (result) => {
                            this.InvokeOnMainThread(()=>{
                                if (result.Result == "ok") {
                                    var index = this.ViewSource.RemoveItem (image);
                                    this._tableView.DeleteRows (new MonoTouch.Foundation.NSIndexPath[]{MonoTouch.Foundation.NSIndexPath.Create (0,index)}, UITableViewRowAnimation.Fade);
                                    Helper.Default.HideHud();
                                }
                                else{
                                    Helper.Default.HideHud("Could not delete, try again.");
                                }
                            });
                        });
                    });
                    alert.AddToDisplayQueue ();
                };

                _tableView.PromoteRow = (tweet) => {

                    var alert = MBAlertView.AlertWithBody ("Are you sure you want to promote this image? You cannot undo this.", "No", null);
                    alert.AddButtonWithText ("Yes", MBAlertViewItemType.Positive, () => {
                        // call server to delete the tweet
                        Helper.Default.ShowHud("promoting ...");
                        Api.Default.PromoteImageItem (tweet, (result) => {
                            this.InvokeOnMainThread(()=>{
                                if (result.Result == "ok") {
                                    Helper.Default.HideHud();
                                    _lastcell.Animate2 (0.2, ()=>AnimateCellRight(_lastcell), ()=>{
                                        _lastcell = null;
                                    });
                                }
                                else{
                                    Helper.Default.HideHud("Could not promote, try again.");
                                }
                            });
                        });
                    });
                    alert.AddToDisplayQueue ();
                };

                // add to view
                this.AddSubview (_tableView);
            }
        }