c# wp8 gps error

0

Witam. Mam aplikacje MVVM wykorzystującą gps i mapy. Pojawia mi się błąd w tym zdarzeniu

 void gps_PositionChanged(Geolocator sender, PositionChangedEventArgs args)
        {
            this.Latitude = args.Position.Coordinate.Latitude.ToString();
        }

Kod znajduje sie ViewModel strony a właściwosć Latitude jest zbindowana z textboxem.

Klasa ViewModel dziedziczy bo klasie ViewModelBase gdzie po uruchomienu aplikacji kompilator staje tu

 protected virtual void OnPropertyChanged(PropertyChangedEventArgs e)
        {
            var handler = this.PropertyChanged;
            if (handler != null)
            {
                handler(this, e);
            }
        }

An exception of type 'System.UnauthorizedAccessException' occurred in System.Windows.ni.dll but was not handled in user code

Co jest nie tak? Czy to coś z wątkami? Jak to nalezy prawidłowo zrobić?

0

UnauthorizedAccessException wskazuje na brak uprawnień lub na problem z wątkami. Pojawia się jakiś komunikat w tym wyjątku (w rodzaju "invalid cross-thread access"?). Masz poprawnie dodane i ustawione capabilities?

0

Invalid cross-thread access.

capabilities mam ok

0
System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() =>
            {
                this.Latitude = args.Position.Coordinate.Latitude.ToString();
            }); 

poczytałem troche, tak zrobiłem i jest ok, czy jest to prawidłowe rozwiązanie czy inaczej nalezy pobrać dispatchera?

0

Tak, to jest poprawne rozwiązanie, które bym zasugerował po zobaczeniu "Invalid Cross-Thread access" :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1