public override void ViewDidLoad() { base.ViewDidLoad(); _source = Vm.Items.GetTableViewSource( BindTestTableViewCell, ReuseId, factory: () => new TableViewSourceEx()); TableView.RegisterClassForCellReuse(typeof(TestTableViewCell), new NSString(ReuseId)); _source.GetHeightForHeaderDelegate = () => 50; _source.GetViewForHeaderDelegate = () => { _headerView = new HeaderForTableView(); _bindings.Add( this.SetBinding( () => _source.SelectedItem.Name, () => _headerView.SelectedItemLabel.Text, fallbackValue: "Nothing yet")); _bindings.Add( this.SetBinding( () => Vm.ToggledItems, () => _headerView.ToggledItemsLabel.Text)); return(_headerView); }; TableView.Source = _source; var addButton = new UIBarButtonItem { Title = "Add" }; addButton.SetCommand(Vm.AddCommand); var delButton = new UIBarButtonItem { Title = "Del" }; var selectedItemBinding = this.SetBinding(() => _source.SelectedItem); _bindings.Add(selectedItemBinding); delButton.SetCommand(Vm.DeleteCommand, selectedItemBinding); NavigationItem.RightBarButtonItems = new[] { delButton, addButton, }; }
public override void ViewDidLoad() { base.ViewDidLoad(); var nav = (NavigationService)ServiceLocator.Current.GetInstance <INavigationService>(); var useCreateCell = (bool?)nav.GetAndRemoveParameter(this); if (useCreateCell == null || useCreateCell.Value) { _source = Vm.Items.GetTableViewSource( CreateCell, BindUiTableViewCell, factory: () => new TableViewSourceEx()); } else { _source = Vm.Items.GetTableViewSource( BindTestTableViewCell, ReuseId, factory: () => new TableViewSourceEx()); TableView.RegisterClassForCellReuse(typeof(TestTableViewCell), new NSString(ReuseId)); } _source.GetHeightForHeaderDelegate = () => 50; _source.GetViewForHeaderDelegate = () => { _headerView = new HeaderForTableView(); _bindings.Add( this.SetBinding( () => _source.SelectedItem.Title, () => _headerView.SelectedItemLabel.Text, fallbackValue: "Nothing yet")); return(_headerView); }; TableView.Source = _source; var addButton = new UIBarButtonItem { Title = "Add" }; addButton.SetCommand(Vm.AddCommand); var delButton = new UIBarButtonItem { Title = "Del" }; var selectedItemBinding = this.SetBinding(() => _source.SelectedItem); _bindings.Add(selectedItemBinding); delButton.SetCommand(Vm.DeleteCommand, selectedItemBinding); NavigationItem.RightBarButtonItems = new[] { delButton, addButton, }; }