2013-07-27 24 views
1

您可以在Windows应用商店应用中使用Rx和Geolocator类吗?无效的扩展和Windows Store Geolocator

我已经将它用于我的Windows Phone应用程序,但是我无法计算出传入Observable.FromEvent的参数/类型以设置事件订阅。

几乎所有的FromEvent和FromEventPattern方法都表明它们被设计为与'标准'.NET事件实现一起工作。

的问题似乎是,Windows应用商店的事件委托是基于TypedEventHandler<>,而不是EventHandler<>

public event TypedEventHandler<Geolocator, PositionChangedEventArgs> PositionChanged; 

另外,有与Geolocator使用的Rx除了FromEvent更好的办法?

+0

首先,你应该有可能是使用FromEventPattern。其次,您可以尝试使用'Interval',但事件可能是使用Geolocator的最佳方式。 –

+0

这似乎很棘手,因为Windows应用商店事件类型为TypedEventHandler - 不只是事件处理程序<> –

+0

尝试类似于'Observable.FromEventPattern (MyGeolocator,“PositionChanged”);' –

回答

1

尝试这样:

所有的
vary query = 
    Observable 
     .FromEventPattern< 
      TypedEventHandler<Geolocator, PositionChangedEventArgs>, 
      Geolocator, 
      PositionChangedEventArgs>(
     h => geolocator.PositionChanged += h, 
     h => geolocator.PositionChanged -= h); 
+0

优秀。我明白了为什么我没有弄清楚自己:-) –