【发布时间】:2018-11-29 16:13:33
【问题描述】:
我有一个在 Janam XT2 掌上电脑上运行的应用程序。
我的 Andriod 项目的扫描仪库工作正常。我希望能够将扫描的事件传递给视图模型。我似乎无法弄清楚我做错了什么。
设置如下
使用 Prism,VS 2017,MVVM。
包含条形码特定类的共享项目。与 Android 项目和我的数据的 MVVM 模块共享。
我当前的 UI 有一个单独的 MVVM 模块。
在 android MainActivity 中,我引用了具有 EventAggregator 属性的 App 实例。当扫描仪的 Received 事件在 Android 应用程序 (MainActivity) 中触发时,我正在发布一个 ScannerEvent。
这按我认为应该的方式工作,但尝试在 ViewModel 中订阅该事件没有任何结果。
有人有什么想法吗?
编辑:响应 Nkosi 的评论请求。
public ListViewBaseModel(IEventAggregator eventAggregator)
{
_eventAggregator = eventAggregator;
Warehouses = new ObservableCollectionFast<WarehouseListItem>(Client.GetAsync(new WarehouseListQuery() { CompanyID = "SPF", UseBins = 1 }).Result.Results);
_eventAggregator.GetEvent<BarcodeScannerEvent<ScanResults>>().Subscribe(BarcodeScanned);
}
public virtual void BarcodeScanned(ScanResults results)
{
}
【问题讨论】:
-
在视图模型中显示您订阅事件的方式
-
Shared Project是指Class Library还是实际的Shared Project?提示:你想要一个类库... -
不,这是一个共享项目