Skip to content
This repository has been archived by the owner on Jan 9, 2023. It is now read-only.

dornerworks/Mvx.FluentTableView

Repository files navigation

Mvx.FluentTableView

Use Cirrious.FluentLayout with MvvmCross TableViewSource and UITableViewCells.

public class ExampleCell : FluentTableViewCell
{
    private readonly UILabel _label = new UILabel();
    
    public LabelCell(IntPtr handle) : base(handle)
    {
    }

    protected override void SetupConstraints()
    {
        ContentView.AddSubviews(_label);
        ContentView.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints();
        ContentView.AddConstraints(
            _label.AtLeftOf(ContentView),
            _label.AtTopOf(ContentView),
            _label.AtRightOf(ContentView),
            _label.AtBottomOf(ContentView));
    }

    protected override void Bind()
    {
        var set = this.CreateBindingSet<ExampleCell, ExampleViewModel>();
        set.Bind(_label)
            .To(vm => vm.Label);
        set.Apply();
    }
}
var tableView = new UITableView();
var source = new FluentTableViewSource(tableView, typeof(ExampleCell));
tableView.Source = source;

var set = CreateBindingSet();
set.Bind(source).To(vm => vm.Items);
set.Apply();