private void Model_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { if (_skipNext) { return; } switch (e.PropertyName) { case nameof(Model.Latitude): case nameof(Model.Longitude): var pair = new GeoTagsEntry(Model.Latitude, Model.Longitude); if (!pair.IsEmptyOrInvalid) { MapWebBrowser.Execute(@"moveTo", $@"{pair.LatitudeValue};{pair.LongitudeValue}"); } break; } }
public TrackGeoTagsDialog(TrackObjectBase track) { DataContext = new ViewModel(track); InitializeComponent(); Buttons = new[] { CreateExtraDialogButton(ToolsStrings.TrackGeoTags_FindIt, new DelegateCommand(() => { MapWebBrowser.Execute(@"moveTo", GetQuery(Model.Track)); })), CreateExtraDialogButton(FirstFloor.ModernUI.UiStrings.Ok, new CombinedCommand(Model.SaveCommand, CloseCommand)), CancelButton }; MapWebBrowser.SetScriptProvider(new ScriptProvider(Model)); MapWebBrowser.StartPage = GetMapAddress(track); Model.PropertyChanged += Model_PropertyChanged; }