Ios 如何指定使用mvvmcross绑定时使用的默认属性?

Ios 如何指定使用mvvmcross绑定时使用的默认属性?,ios,xamarin.ios,xamarin,mvvmcross,Ios,Xamarin.ios,Xamarin,Mvvmcross,我有自己想要绑定的对象/视图,我知道我可以执行以下操作 var set = this.CreateBindingSet<MyView,MyViewModel>(); set.Bind( MyOwnObject ).For( o => o.MyDefaultProperty ).To( o => o.PropertyOnViewModel); set.Apply(); var set=this.CreateBindingSet(); set.Bind(MyOwnObjec

我有自己想要绑定的对象/视图,我知道我可以执行以下操作

var set = this.CreateBindingSet<MyView,MyViewModel>();
set.Bind( MyOwnObject ).For( o => o.MyDefaultProperty ).To( o => o.PropertyOnViewModel);
set.Apply();
var set=this.CreateBindingSet();
set.Bind(MyOwnObject).For(o=>o.MyDefaultProperty).To(o=>o.PropertyOnViewModel);
set.Apply();
这一切都很有效

我的问题是,我该如何摆脱这一点

当我绑定到内置视图(如“标签”)时,我不必使用For


如何设置自己的默认属性?

默认属性列表是在
BindingBuilder
步骤中设置的,该步骤在
setup
过程中调用
InitializeLastStep()

该列表由实现
IMvxBindingNameRegistry

public interface IMvxBindingNameRegistry
{
    void AddOrOverwrite(Type type, string name);
    void AddOrOverwrite<T>(Expression<Func<T, object>> nameExpression);
}
或者在任何代码(最好在UI或安装线程上运行)中,您可以在IoC容器中注册为:

    Mvx.CallbackWhenRegistered<IMvxBindingNameRegistry>(registry => 
        {
            registry.AddOrOverwrite(typeof(MyControl), "MyDefaultProperty");
        });
Mvx.callbackwhen注册(注册表=>
{
registry.AddOrOverwrite(typeof(MyControl),“MyDefaultProperty”);
});
    Mvx.CallbackWhenRegistered<IMvxBindingNameRegistry>(registry => 
        {
            registry.AddOrOverwrite(typeof(MyControl), "MyDefaultProperty");
        });