Windows Phone中的平台特定值转换器

时间:2016-11-14 10:33:58

标签: mvvmcross

我对Windows Phone中的值转换器的最佳做法感到有点困惑。

我已成功将所有PCL(共享)值转换器转换为Native转换器,遵循此处列出的准则:https://mvvmcross.com/docs/value-converters

很多时候我们在Android和iOS上创建特定于平台的转换器。例如Android上的可见性。如果我想创建特定于平台的特定值转换器仅在Windows Phone上使用,我是否必须再次执行此两步过程?

  1. 创建一个MvxValueConverter。
  2. 创建一个Native值转换器并将其添加到应用程序资源。
  3. 是否有针对Windows Phone特定转换器的更简洁的解决方案?

1 个答案:

答案 0 :(得分:0)

我遵循的规则是:

如果要在平台之间共享转换器,我创建一个MvxValueConverter实现并使用NativeValueConverter包装器使其在Windows项目中工作。

但是,如果转换器是特定于平台的,我只是省略使用MvxValueConverter,因为它不会添加太多值,除非您想使用其中一种泛型类型。在大多数情况下,我只是实施IValueConverter并在Resource.Dictionary中注册。

所以答案是。您没有需要来使用MvxValueConverter和本机值转换器包装器。它最终只是一个IValueConverter实现。