【问题标题】:MvvmCross iOS Two converters for one binding?MvvmCross iOS 一个绑定两个转换器?
【发布时间】:2018-10-16 08:28:11
【问题描述】:

是否有可能对 MvvmCross one 绑定使用多个转换?

例如:

this.CreateBinding(UIImage)
                .For(i => i.Image)
                .To((ViewModel model) => model.IsFavourite)
                .WithConversion(new BooleanToFavouriteImageConverter(), null)
                .WithConversion(new ImageToImageFromBundleConverter(), null)
                .Apply();

IsFavouritebool 属性,我想将其转换为图像,然后将其设置为捆绑资源?

【问题讨论】:

    标签: xamarin xamarin.ios mvvmcross


    【解决方案1】:

    您始终可以将两个 ValueConverters 组合到一个新类中。

    创建一个使用BooleanToFavouriteImageConverterImageToImageFromBundleConverterBooleanToImageFromBundleConverter

    通过这样做,您只能以不同的方式使用两个转换器。

    this.CreateBinding(UIImage)
                    .For(i => i.Image)
                    .To((ViewModel model) => model.IsFavourite)
                    .WithConversion(new BooleanToImageFromBundleConverter(), null)
                    .Apply();
    

    最后,如果您想扩展此行为,假设您有多种类型的图像要从布尔值转换。

    尝试使用 object 参数并创建一个使用不同值 ValueConverter 的语句。

    .WithConversion(new BooleanToImageFromBundleConverter(), "Favorite")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多