Uitableview 绑定MvxBindableTableViewCell';布尔函数的s从犯

Uitableview 绑定MvxBindableTableViewCell';布尔函数的s从犯,uitableview,xamarin.ios,mvvmcross,Uitableview,Xamarin.ios,Mvvmcross,我一直在研究如何将MvxBindableTableViewCell的附件绑定到布尔值 我将表的ItemsSource绑定到ViewModel中的一个列表,显示了一个很好的可单击项目列表 但是,我希望单元格的附件(UITableViewCellAccessory.Checkmark)仅在标记此对象时显示。通过标记,我的意思是模型中的布尔值设置为true 有人知道如何捆绑牢房的附件吗 编辑: 我可以根据模型的布尔值显示附件,但它没有绑定 protected override UITableViewC

我一直在研究如何将MvxBindableTableViewCell的附件绑定到布尔值

我将表的ItemsSource绑定到ViewModel中的一个列表,显示了一个很好的可单击项目列表

但是,我希望单元格的附件(UITableViewCellAccessory.Checkmark)仅在标记此对象时显示。通过标记,我的意思是模型中的布尔值设置为true

有人知道如何捆绑牢房的附件吗

编辑: 我可以根据模型的布尔值显示附件,但它没有绑定

protected override UITableViewCell GetOrCreateCellFor(UITableView tableView, NSIndexPath     indexPath, object item)
    {
        UITableViewCell cell = tableView.DequeueReusableCell(CellIdentifier);
        if (cell == null)
            cell = new PlotsTableViewCell(UITableViewCellStyle.Subtitle, CellIdentifier);

        Plot p = (Plot)item;
        if (p.Done)
            cell.Accessory = UITableViewCellAccessory.Checkmark;
        return cell;
    }

我想你可以在你的PlotStablevewCell中这样做

如果声明自定义单元格,则可以在运行时在该单元格内绑定

您可以在会话显示中使用的:中看到此示例:

您可以看到该单元格提供了公共属性,如:

public string RoomText
    {
    get { return Label2.Text; }
    set { if (Label2 != null) Label2.Text = value; }
    }
然后提供绑定文本,如:

    'RoomText':{'Path':'Item.Session','Converter':'SessionSmallDetails','ConverterParameter':'SmallDetailsFormat'},
要将附件绑定到Bool,您应该能够执行以下操作:

public bool IsDone
    {
    get { return Accessory == UITableViewCellAccessory.Checkmark; }
    set 
    {
        if (value) 
        {
            Accessory = UITableViewCellAccessory.Checkmark; 
        }
        else 
        {
            Accessory = UITableViewCellAccessory.None; 
        }
    }
    }
附文:

    'IsDone':{'Path':'Done'},


作为一项高级技术,您还可以在自定义绘制的按钮中使用自定义图像,而不是单元格中的附件。要了解如何做到这一点,请查看会议示例中的
IsFavorite
属性是如何绑定的-请参阅Stuart中的双向自定义绑定,您太棒了!去给自己做一个恐龙徽章吧!我已经使用上面的代码成功地将布尔值绑定到单元格的附件。至于先进的技术,配件正是我要找的(在这种情况下)。谢谢。另外,请确保在真正的硬件上进行测试-我认为附件是我看到链接器删除的一件事-因此,您可能需要包含一个LinkerIncludePlease虚拟文件来欺骗linkerI我会记住这一点,我知道在哪里可以找到LinkerInclude示例;)