菜鸟教程小白 发表于 2022-12-13 02:29:12

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


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

<pre><code>public readonly INC&lt;Address&gt; Entity = new NC&lt;Address&gt;();
</code></pre>

<p>在哪里</p>

<pre><code>public class Address
{
    public string Line1 { get; set; }

    public string Line2 { get; set; }

    public string Line3 { get; set; }
    //other properties...
}
</code></pre>

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

<pre><code>set.Bind(Line1Text).To(&#34;Entity.Line1&#34;).TwoWay();
</code></pre>

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

<pre><code>set.Bind(Line1Text).To(vm =&gt; vm.Entity.Value.Line1).TwoWay();
</code></pre>

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

<blockquote>
<p>2014-10-08 19:12:15.341 IosTemplate MvxBind: Warning:
12.63 Unable to bind: source property source not found Property:Value on Address</p>
</blockquote>

<p>请指教,如何使用 lambda 表达式方式与 INC/NC 进行绑定(bind)。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><blockquote>
<p>Please advise, how to do a binding with INC/NC with lambda expression way</p>
</blockquote>

<p><a href="http://slodge.blogspot.co.uk/2013/07/n36-rio-binding-carnival.html" rel="noreferrer noopener nofollow">Field Binding plugin</a>不附带任何对流利表达式解析的扩展,因此如果没有额外的工作,这种类型的链式表达式就无法以流利的形式完成。</p>

<p>如果您想扩展流式绑定(bind)表达式的解析方式或绑定(bind)的评估方式 - 为 INC 添加一些特殊情况 - 那么我相信这可以做到,但需要一些实验和编码才能做。例如,您可以尝试检查和操作 <a href="https://github.com/MvvmCross/MvvmCross/blob/3.2/Plugins/Cirrious/FieldBinding/Cirrious.MvvmCross.Plugins.FieldBinding/MvxChainedNotifyChangeFieldSourceBinding.cs#L32" rel="noreferrer noopener nofollow">https://github.com/MvvmCross/MvvmCross/blob/3.2/Plugins/Cirrious/FieldBinding/Cirrious.MvvmCross.Plugins.FieldBinding/MvxChainedNotifyChangeFieldSourceBinding.cs#L32</a> 中的 childList。为了从列表中删除 <code>Value</code> 项目 - 尽管这可能也会删除偶尔正确的 <code>Value</code> :/如果您可以使某些东西运行良好且可靠,那么将非常高兴也将其作为拉取请求接受回框架。</p></p>
                                   
                                                <p style="font-size: 20px;">关于c# - MVVMCross,FieldBinding 插件,iOS,代码绑定(bind)不起作用,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26267935/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26267935/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: c# - MVVMCross,FieldBinding 插件,iOS,代码绑定(bind)不起作用