【问题标题】:MvvmCross common binding does not workMvvmCross 通用绑定不起作用
【发布时间】:2013-06-30 03:34:10
【问题描述】:

这实际上是相当琐碎的事情,但是,我已经多次碰到它,每次新的时间都花费大量的时间来找出为什么这么简单绑定到属性(使用 MvvmCross)不起作用!所以,我希望这对任何人都有帮助。

情况(很简单): (只是具有某些属性的视图我将绑定到 ViewModel(在此示例中 - 用于 Touch)。

public class MyView : MvxViewController
{
    protected string SomeValue
    {
        get; set;
    }

    private void SomeInitializationMethod()
    {
        var set = this.CreateBindingSet<MyView, MyViewModel>();
        // binding to "this"
        set.Bind().For(x => x.SomeValue).To(x => x.ViewModelSomeValue);
        set.Apply();
    }
}

因此,在这种情况下,属性不绑定,您会看到“Failed to create target binding for from ViewModelSomeValue to CurrentContacts”消息。

【问题讨论】:

    标签: data-binding touch xamarin mvvmcross


    【解决方案1】:

    所以,问题的原因只是一个简单的词:“public”。 由于 MvvmCross 使用反射进行数据绑定,它希望绑定到的属性是公共的,并且诚实地说“我无法访问它”。

    protected string SomeValue
    {
        get; set;
    }
    

    这对我来说发生了好几次,只是因为 Resharper 使用,它会自动将属性修饰符添加到“protected”。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多