将 MvxBindableTableViewCell 的 Accessory 绑定到 boolean

2023-12-30

我被困在如何将 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;
    }

我认为您可以在 PlotsTableViewCell 中执行此操作。

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

您可以在以下位置看到这样的示例:https://github.com/slodge/MvvmCross/blob/vnext/Sample%20-%20CirriousConference/Cirrious.Conference.UI.Touch/Cells/SessionCell2.cs https://github.com/slodge/MvvmCross/blob/vnext/Sample%20-%20CirriousConference/Cirrious.Conference.UI.Touch/Cells/SessionCell2.cs在会话显示中使用:

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

public string RoomText
    {
    get { return Label2.Text; }
    set { if (Label2 != null) Label2.Text = value; }
    }

然后提供绑定文本,例如:

    'RoomText':{'Path':'Item.Session','Converter':'SessionSmallDetails','ConverterParameter':'SmallDetailsFormat'},

要将 Accessory 绑定到 Bool,您应该能够执行以下操作:

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

附文字:

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

作为一种高级技术,您还可以在自定义绘制的按钮内使用自定义图像,而不是单元格中的附件。要了解如何执行此操作,请查看如何IsFavorite属性已绑定在该会议示例中 - 请参阅中的两种方式自定义绑定https://github.com/slodge/MvvmCross/tree/vnext/Sample%20-%20CirriousConference/Cirrious.Conference.UI.Touch/Bindings https://github.com/slodge/MvvmCross/tree/vnext/Sample%20-%20CirriousConference/Cirrious.Conference.UI.Touch/Bindings

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 MvxBindableTableViewCell 的 Accessory 绑定到 boolean 的相关文章

  • UITableViewCell - 理解“可重用”

    UITableViewCell tableView UITableView tableView cellForRowAtIndexPath NSIndexPath indexPath static NSString reuseIdentif
  • 谁应该在 MvvmCross 中创建视图模型实例

    澄清一下 我知道 MvvmCross 在创建视图模型的位置和方式方面非常灵活 我的问题更多的是关于适当的关注点分离 以简化复杂的跨平台应用程序的设计 假设我们有一个包含客户列表和客户详细信息的应用程序 在 iPad 和 Surface 上
  • AFNetworking 的 setImageWithURLRequest 在滚动后在错误的单元格中设置图像(iOS、Swift)

    我使用表dequeueReusableCellWithIdentifier and afnetworking uiimageview 我的一些细胞有图像 有些则没有 如果我在加载图像之前滚动表格 成功块会将图像放入重复使用的错误单元格中 例
  • 如何在 swift 3 中的表视图单元格中实现集合视图的分页?

    在这里 我有一个布局 其中我的表视图单元格之一由集合视图组成 在这个布局中我需要实现分页 但我无法使用func collectionView collectionView UICollectionView willDisplay cell
  • 更改 UITableView 中移动单元格的默认图标

    我需要更改 UITableView 中移动单元格的默认图标 这个 是否可以 这是一个非常棘手的解决方案 可能无法长期工作 但可能会给您一个起点 重新排序控制是UITableViewCellReorderControl 但这是一个私有类 因此
  • 将对象映射到 TableView 部分的 Swift 二维数组

    我想不出更好的方法来做到这一点 我将学生对象的所有属性映射到二维数组中 所以我的电视有几个部分 我也不能使用静态表视图 如果是这样 这个问题就不会存在 所以我在 TVC 中的代码 let currentUser PFUser current
  • 编辑和导入故事板更改从 Xcode 到 Visual Studio

    我正在将代码从 Xamarin Studio Mac 移动到 Visual Studio 我可以从 Xamarin Studio 在 Xcode 中打开故事板文件 如果我在 Xcode 中进行更改 关闭它 然后在 Xamarin Studi
  • Xamarin Dim 页面(主详细信息页面)

    因此 对于 Android 当显示主从页面的母版页时 母版页会被 黑色暗淡 视图覆盖 因此很容易用眼睛区分这两个页面 在 iOS 中 详细信息页面不会变暗 因此更难区分视图 有没有办法用 黑色半透明 的 BoxView 或 Frame 覆盖
  • 如何确定 Xamarin Forms 中点击的位置?

    在 Xamarin Forms 中 如何找出点击的位置 例如在图像内 我的代码是 var tapGestureRecognizer new TapGestureRecognizer tapGestureRecognizer Tapped O
  • 如何在 Xamarin.iOS 应用程序中创建导航?

    我习惯于与Xamarin Forms 我用 XAML 或 C 创建一个页面并导航到它 但现在这是我第一次尝试创建一个不适合的 iOS 应用程序Xamarin Forms 我在 Windows PC 上的 Visual Studio 中进行此
  • TableView 中图像的大小不正确

    我正在使用来自 URL 的图像创建一个表视图 但图像不会调整到所有视图的大小 直到我将其按入行中 知道为什么会发生这种情况吗 这是一个自定义的表格视图 我的代码是 UITableViewCell tableView UITableView
  • Xamarin Forms WebView 打开外部链接

    我的应用程序中有一个网络视图 当单击外部链接 在普通浏览器中在新选项卡中打开 时 我无法返回我的网站 当打开一个新标签时 有可能像 Gmail 一样关闭该标签的菜单吗 目的是 每当单击链接时 用户都可以选择使用哪个选项来查看内容 例如单击链
  • 在 Swift 中使用 commitEditingStyle 动态删除 UITable 部分

    我正在处理一个无法解决的问题 我有一个来自客户数据库数组的名称表 每个客户在其他数据成员中都有一个名称属性 我可以成功删除某个部分中的行 但我不能删除该部分 当该部分中的最后一行被删除时 该部分必须消失 I got NSInternalIn
  • 如何获取 UITableView 中的所有单元格

    假设我有一个包含多行的 UITableView 我想在某个时间点将所有 UITableViewCells 作为 NSArray 获取 我努力了 tableView visibleCells 但这种方法有一个问题 我无法拥有当前不在当前屏幕中
  • 使用 Xamarin.Forms 和 Zxing 生成 QR 码

    我在网上看到了很多关于这个的内容 旧帖子 但似乎没有什么对我有用 我正在尝试从字符串中生成二维码并将其显示在应用程序中 这就是我一开始的情况 qrCode new ZXingBarcodeImageView BarcodeFormat Ba
  • 在故事板中将 UITableView 的 rowHeight 设置为 UITableViewAutomaticDimension ?

    在 Xcode 6 中创建 iOS 8 应用程序时 如何设置 UITableViewrowHeight to UITableViewAutomaticDimension In WWDC 2014 第 226 场会议 表和集合视图中的新增功能
  • 为什么 UITableViewCell 不可访问(对于 VoiceOver)

    我并不是想解决任何问题 当然你可以设置isAccessibilityEnabled true它有效 我的问题是 为什么它默认关闭并且界面生成器中没有适当的部分 在我看来 不建议使 UITableViewCell 子类可访问 有没有更好的方法
  • 在 UISearchController 文本字段中输入内容时导航栏消失

    我试图找出为什么当我开始在 UISearchController searchBar 中输入时我的整个导航栏消失 它正确加载并正确动画 但是当我开始输入时我丢失了活动的导航栏 下面是从 viewDidLoad 加载 searchContro
  • 使用 Xamarin Forms 显示图像

    Solved 答案是更新所有 nuget 软件包并针对较新版本的 Android 现在图像按预期加载 我对此并不满意 因为我完全使用了 Xamarin 提供的代码 并且针对较新的版本已弃用了代码所依赖的一些项目 初始版本是 Xamarin
  • 混合静态和动态 UITableViewController 内容会导致 NSRangeException

    我一直在寻找这个错误 并找到了一些具有类似行为的帖子 但没有解决问题的解决方案 我有一个 UITableViewController 在 SB 中声明为静态 它具有以下部分 第 0 部分 配方 是静态的 有 4 个单元格 第 1 部分 口味

随机推荐

  • 在 Keras 中设置 LearningRateScheduler

    我正在 Keras 中设置学习率调度程序 使用历史损失作为 self model optimizer lr 的更新程序 但 self model optimizer lr 上的值不会插入到 SGD 优化器中 并且优化器为使用默认学习率 代码
  • 如何禁用 vscode 中的误报错误?

    我写了这个基本的 C 程序 int main int argc char const argv int n rand int a n return a 0 哪个在 gcc 中正确编译 但是 MS C C 智能感知在显示错误曲线时指出expr
  • 用多行突出显示 ggplot 中的一行

    我想改变size linetype colorggplot 中的一行等 这是一个最小的可重现示例 library tidyverse Data in wide format df wide lt data frame Horizons se
  • 从 UIButton 中获取 UILabel

    我有一个 UIButton 其中 UILabel 作为子视图添加到其中 有没有一种简单的方法可以将 UILabel 从中取出 以便我可以更改它的标题 如果您指定一个tag当您仍然有对它的引用时 您可以稍后通过搜索视图来找到它tag 像这样
  • 如何正确使用 ES6“导出默认值”和 CommonJS“要求”?

    我一直在努力Webpack教程 http blog madewithlove be post webpack your bags 在其中一个部分中 它给出了包含该问题的一行本质的代码示例 export default class Butto
  • 使用 C# 获取 MySQL 记录数

    我想知道如何使用 C 获取查询的记录计数 这是我使用的代码 MySqlDataReader recordset null query new MySqlCommand SELECT FROM test ORDER BY type ID AS
  • 双括号初始化 - 优点

    知道我们可以通过使用双括号初始化来初始化java中的集合 对此进行了一些搜索 发现由于其性能问题 不建议使用它 private static final Set
  • VBA复制文件;抑制“文件已存在”并确定是否成功?

    我有一些代码用于将文件夹从本地 PC 复制到网络共享驱动器 以进行备份 我对我的代码有两个问题 首先 当代码运行时 它的作用就像 Windows 中的复制 粘贴 如果文件已经存在 它会询问我是否要覆盖它们 我确实想覆盖它们 因为我每天都运行
  • 如何使用设备货币格式格式化浮点值?

    我有一个可以打印计算出的货币值的应用程序 我想以默认货币格式显示该值 例如在欧洲你可以写 1 000 95 在美国我想你会写 1 000 95 在其他货币中 小数部分显示的值或多或少 在美国为 2 但在日本为 0 如何获得所有现有货币的尽可
  • Android Viewpager 项目访问

    我的目标是能够滑动 3 个不同的布局 并能够单击每个布局上的项目 目前 滑动功能运行良好 可以查看所有 3 个布局 活动 public class FetchMenu extends Fetch protected ImageView bl
  • 添加更高版本的语句?

    我正在使用 1 6 即 API 4 来构建我的应用程序 更高版本支持几个命令 我想编写这些命令并使应用程序更兼容更高版本 就像 我使用标签 我想使用 setLeftStripDrawable 和 setRightStripDrawable
  • 玩转无穷大——懒惰算术

    许多现代编程语言允许我们处理潜在的无限列表并对它们执行某些操作 示例 Python EvenSquareNumbers x x for x in naturals if x mod 2 0 这样的列表可以存在 因为只计算实际需要的元素 懒惰
  • gitolite-admin 克隆问题

    我对克隆 gitolite admin 存储库的问题感到疯狂 我已经关注了这个http sitaramc github com gitolite install html migr http sitaramc github com gito
  • scanf字段宽度字符串溢出

    关于缓冲区溢出 以下哪一项是安全的 char buf 10 0 scanf 10s buf or char buf 10 0 scanf 9s buf 根据我读到的内容 我将选择第二个 sizeof 减一 但问题非常微妙 我已经看到代码暗示
  • Objective-C 联合“->”与“.”

    首先我要说的是 我对整个结构和联合的事情还很陌生 在发布此内容之前我已经做了功课 并诚实地试图获得合法的澄清 如果这是错误的方法 请告诉我 首先 我尝试创建一个联合 因为我正在组合不同的数据类型 我唯一真正的问题 问题是点运算符与 gt 我
  • “hello world”字符串文字可以分配给 char * 类型吗?

    char foo fpp compile in vs 2010 with no problem 我认为字符串文字是 const char 类型 并且 const 类型不能赋值给非 const 类型 所以我预计上面的代码会失败或者我错过了什么
  • 与 Teamcity 和 Clearcase 持续集成

    有没有人成功地将 Clearcase 与 Teamcity 宣传 Clearcase 支持 集成 以在一个相当规模的项目上实现高效的持续集成构建环境 是的 我们有 但是有一个TeamCity 的自定义 ClearCase 插件 为了 使用动
  • Android 从 mySql 获取数据

    我必须从服务器上的 MySQL 数据库获取一些数据 我有以下代码 但是当我运行它时应用程序崩溃了 我也得到了权限被拒绝 缺少 INTERNET 权限 在我的 Logcat 中 即使我在 Android 清单中指定了互联网权限 知道这里可能出
  • Grails 编程式事务处理

    我的 Grails 应用程序有一个服务方法 可以更新来自 last fm 的 Web 服务的艺术家列表 Transactional propagation Propagation NOT SUPPORTED void updateLastF
  • 将 MvxBindableTableViewCell 的 Accessory 绑定到 boolean

    我被困在如何将 MvxBindableTableViewCell 的附件绑定到布尔值上 我将表的 ItemsSource 绑定到 ViewModel 中的列表 显示了一个很好的可单击项目列表 不过 我希望单元格的附件 UITableView