在MvvmCross .dialog中,创建目标绑定失败

4

我正在尝试在iOS中使用MvvmCross和Monotouch.Dialog进行开发,但是我遇到了一个绑定问题,这个问题非常微不足道,事实上在Stuart的n+1视频中也几乎一字不差地做过。

以下是给出的视图:

[Register("FirstView")]
public class FirstView : MvxDialogViewController
{
    public override void ViewDidLoad()
    {
        base.ViewDidLoad();
        var bindings = this.CreateInlineBindingTarget<FirstViewModel>();

        Root = new RootElement("Example Root")
        {

            new Section("Search")
            {
                new EntryElement("SearchString", "Search String").Bind(bindings, vm => vm.SearchString)
            }
        };

    }
}

以及这个 ViewModel:

public class FirstViewModel : MvxViewModel
{
    private string _searchString = "search string";
    public string SearchString
    {
        get
        {
            return _searchString;
        }
        set
        {
            _searchString = value; 
            RaisePropertyChanged(() => SearchString);
        }
    }

}

当导航到这个视图时,我会从Mvx得到以下错误:
2013-08-22 14:44:51.766 TestApp[11581:c07] MvxBind:Error:  2.02 Empty binding target passed to MvxTargetBindingFactoryRegistry
[0:] MvxBind:Error:  2.02 Empty binding target passed to MvxTargetBindingFactoryRegistry
[0:] 
2013-08-22 14:44:51.869 TestApp[11581:c07] MvxBind:Warning:  2.10 Failed to create target binding for to 
[0:] MvxBind:Warning:  2.10 Failed to create target binding for to 

我不确定为什么绑定失败。如果我在SearchString的“Get”中设置断点,我确实看到它被触发了。然而,改变Entry元素的值并没有触发“Set”。你有什么想法吗?

2
从“空绑定目标”来看,我唯一的直接想法是你是否已经更改了设置以继承自“MvxTouchDialogSetup”? - Stuart
1
啊!这正是我所错过的。问题解决了。 - Frank Caico
1个回答

7
斯图尔特的猜测是正确的: 我所需要做的只是将我的Setup类更改为继承自MvxTouchDialogSetup

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接