【问题标题】:Reuse IMobileBarcodeScanner in cross platform app?在跨平台应用程序中重用 MobileBarcodeScanner?
【发布时间】:2013-09-12 19:37:52
【问题描述】:

我正在使用 xamarin、mvvmcross 和 zxing.net.mobile 编写应用程序。我希望能够在可移植类库中使用 IMobileBarcodeScanner 的实例来进行扫描。

我遇到的问题是 IMobileBarcodeScanner 的 droid 版本需要将上下文传递给构造函数。我猜我们需要在视图构造函数中注册类型,这样我们才能传递正确的上下文。

由于会有多个视图,我可以为每个视图注册不同的 IMobileBarcodeScanner 实例吗?或者,我可以将 IMobileBarcodeScanner 设为视图模型上的公共属性并从视图构造函数中设置它吗?

感谢您的帮助!

【问题讨论】:

    标签: c# inversion-of-control mvvmcross


    【解决方案1】:

    过去我使用条形码扫描仪的主要方式有两种。

    1. 我已将它们作为“新页面”启动 - 包括在 Android 中使用外部活动和 StartActivityForResult
    2. 我将它们视为“普通控件” - 有点像当前页面中的 TextEdit 字段。

    在执行第一个操作时,我通常使用类似于PictureChooser plugin 的模式 - 在 Android 上,它使用 MvxAndroidTask 中的 IoC 访问当前上下文

    在执行第二个操作时,我将其纯粹视为 View 问题 - ViewModel 需要提供的只是一个 ICommand 和/或 string 属性,它们可以绑定到扫描的事件或扫描的文本。

    【讨论】:

      猜你喜欢
      • 2011-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多