【问题标题】:MvvmCross binding in a view hierarchy视图层次结构中的 MvvmCross 绑定
【发布时间】:2017-02-07 01:58:32
【问题描述】:

我在使用 MvvmCross 在 Xamarin.iOS 中创建与自定义视图(视图层次结构)的绑定时遇到问题。

我的自定义控件显示一些文本并且按钮很少。

在代码中它看起来像这样(简化版,我最后一次尝试)

// Custom control
public class CustomView : MvxView
{
    // Views
    private TextFieldWithImageButton TextField;
    // ...

    // Properties
    public string Text
    {
        get
        {
            return TextField.Text;
        }
        set
        {
            TextField.Text = value;
        }
    }
    // ...
}

// ViewModel for Controller
public class MainViewModel : MvxViewModel
{
    private string _text = "";
    public string Text
    {
        get { return _text; }
        set { _text = value; }
    }
    // ...
}

// ViewController
public class MainViewController : MvxViewController
{
    // Views
    private CustomView CustomView;

    // ViewModel
    public MainViewModel ViewModel;

    // ... intialization and other stuff

    // Binding ... called from ViewDidLoad method
    private void CreateBinding()
    {
        var set = CustomView.CreateBindingSet<CustomView, MainViewModel>();
        set.Bind(CustomView.Text).To(ViewModel.Text);
        set.Apply();
    }
}

但我总是得到 MvxBind: Error: 0,21 Empty binding target passed to MvxTargetBindingFactoryRegistryMvxBind: Warning: 0,21 Failed to create target binding for binding for -empty-

我已经尝试了很多选项和教程,但到目前为止我无法让它发挥作用。

我会感谢任何关于我做错了什么的提示。

【问题讨论】:

    标签: ios xamarin binding mvvmcross


    【解决方案1】:

    尝试以下方法:

    改变这个: set.Bind(CustomView.Text).To(ViewModel.Text);

    对此: set.Bind(CustomView).For(c =&gt; c.Text).To(vm =&gt; vm.Text);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-11
      相关资源
      最近更新 更多