来自WPF背景我习惯用后缀词“Converter”命名所有值转换器。我可以在MvvmCross中做同样的事情,但是Android Axml中的使用方式没有转换器后缀。
是否可以在不手动注册的情况下仍然包含后缀字转换器?
答案 0 :(得分:1)
默认情况下,MvvmCross使用此填充符注册值转换器 - https://github.com/MvvmCross/MvvmCross/blob/v3.1/Cirrious/Cirrious.MvvmCross.Binding/Binders/MvxValueConverterRegistryFiller.cs#L20
name = RemoveTail(name, "ValueConverter");
name = RemoveTail(name, "Converter");
如果要替换此注册表填充程序,则可以:
RemoveTail
规则MyCustomBindingBuilder
,其继承自MvxAndroidBindingBuilder
并覆盖https://github.com/MvvmCross/MvvmCross/blob/e6d10972b5c28e00e80acc3d9e8910961aa813d6/Cirrious/Cirrious.MvvmCross.Binding/MvxCoreBindingBuilder.cs#L74中的protected virtual IMvxValueConverterRegistryFiller CreateValueConverterRegistryFiller()
- 这可以返回您的自定义填充protected virtual MvxAndroidBindingBuilder CreateBindingBuilder()
课程中以重写的Setup
返回此自定义绑定构建器。