• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

c# - MVVMCross,FieldBinding 插件,iOS,代码绑定(bind)不起作用

[复制链接]
菜鸟教程小白 发表于 2022-12-13 02:29:12 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我在我的 iOS 应用程序中使用 MVVMCross/Xamarin。 我有 ViewModel,其属性定义如下:

public readonly INC<Address> Entity = new NC<Address>();

在哪里

public class Address
{
    public string Line1 { get; set; }

    public string Line2 { get; set; }

    public string Line3 { get; set; }
    //other properties...
}

如果我以这种方式进行绑定(bind),它会起作用:

set.Bind(Line1Text).To("Entity.Line1").TwoWay();

如果我以这种方式绑定(bind),它不起作用并输出警告(见下文):

set.Bind(Line1Text).To(vm => vm.Entity.Value.Line1).TwoWay();

我得到的错误是没有构造绑定(bind)。 应用程序输出的警告:

2014-10-08 19:12:15.341 IosTemplate[8442:248933] MvxBind: Warning: 12.63 Unable to bind: source property source not found Property:Value on Address

请指教,如何使用 lambda 表达式方式与 INC/NC 进行绑定(bind)。



Best Answer-推荐答案


Please advise, how to do a binding with INC/NC with lambda expression way

Field Binding plugin不附带任何对流利表达式解析的扩展,因此如果没有额外的工作,这种类型的链式表达式就无法以流利的形式完成。

如果您想扩展流式绑定(bind)表达式的解析方式或绑定(bind)的评估方式 - 为 INC 添加一些特殊情况 - 那么我相信这可以做到,但需要一些实验和编码才能做。例如,您可以尝试检查和操作 https://github.com/MvvmCross/MvvmCross/blob/3.2/Plugins/Cirrious/FieldBinding/Cirrious.MvvmCross.Plugins.FieldBinding/MvxChainedNotifyChangeFieldSourceBinding.cs#L32 中的 childList。为了从列表中删除 Value 项目 - 尽管这可能也会删除偶尔正确的 Value :/如果您可以使某些东西运行良好且可靠,那么将非常高兴也将其作为拉取请求接受回框架。

关于c# - MVVMCross,FieldBinding 插件,iOS,代码绑定(bind)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26267935/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap