我们正在使用MvvmCross Core的绑定功能实现我们自己的跨平台框架。 我的问题是如何在没有设置的情况下在Mvx中注册自定义绑定。 使用的自定义绑定是类似于的imeActionBinding: https://gist.github.com/slodge/8270923 尝试注册使用:
Mvx.CallbackWhenRegistered<IMvxTargetBindingFactoryRegistry>(RegisterCustomBindings);
protected virtual void RegisterCustomBindings(IMvxTargetBindingFactoryRegistry registry)
{
EditTextImeActionBinding.Register(registry);
}
在LightSetup中使用项目ChimpLight尝试了同样的事情:
Mvx.RegisterSingleton<IMvxTargetBindingFactoryRegistry>(new MvxTargetBindingFactoryRegistry());
var customBindingRegistry = Mvx.Resolve<IMvxTargetBindingFactoryRegistry>();
EditTextImeActionBinding.Register(customBindingRegistry);
XAML:
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Search"
android:inputType="text"
android:imeOptions="actionSearch"
local:MvxBind="Text LastName;ImeAction ResetCommand" />
没有例外 - 但似乎自定义绑定永远不会被加载:|
我错过了什么?
答案 0 :(得分:0)
感谢Stuart的简单回答:使用现有的绑定。 使用N-30 Chimplight示例代码,LightSetup类唯一添加的代码是:
Mvx.CallbackWhenRegistered<IMvxTargetBindingFactoryRegistry>(registry =>
{
EditTextImeActionBinding.Register(registry);
});