This problem was more complicated than I thought. I have worked a lot with this. I share what I found, because I think that my experience with him can help someone else later.
I worked with sensors through service classes: these classes update my virtual machines, and in virtual machines I use my DispatcherHelper to update them in the user interface. I knew that if I wanted to update the associated properties of the interface in events with changed sensor values, I needed to call this update in the event handler using the dispatcher, but I did not know how they behave if they interact with virtual machines, and not with representations. When I started the application, I had no problems updating the user interface if the sensors had a new meaning. My only problem was that if I wanted to deactivate (press the window button) and activate (press the back button) my application, I had no exception, I did not lose the debugging session, but received only a black page with "resume". .. "and the progressbar progress, and nothing happened.
What I missed was the crossthread / accessing exception. If I do this with data bound to the user interface, it throws an exception, but in this case it is not.
One more thing: the accelerometer (I had a version that works only with the accelerometer) works with the emulator, but this is not the case on the device. I think the emulator is trying to simulate an accelerator, returning values, but not in the right direction (without a problem with threads).
Decision
If I update in the event handler in the UI thread (using my own DispatcherHelper), everything works fine. This is a good lesson that should always be considered when interacting with sensors and other layers / flows (VM, V).
source share