protected void OnPropertyChanged(string propertyName) { var handler = PropertyChanged; if (handler != null) { Dispatcher.InvokeOnUIifNeeded(() => handler(this, new PropertyChangedEventArgs(propertyName))); } }
public void GoToPage([NotNull] string pageName, [CanBeNull] IEnumerable <NavigationParameter> parameters = null) { if (pageName == null) { throw new ArgumentNullException("pageName"); } var sb = new StringBuilder(); sb.Append(pageName); if (parameters != null) { sb.Append("?"); foreach (var navigationParameter in parameters) { sb.Append(navigationParameter.Parameter); sb.Append("="); sb.Append(Uri.EscapeDataString(navigationParameter.Value)); sb.Append("&"); } } _dispatcher.InvokeOnUIifNeeded(() => _rootFrame.Navigate(new Uri(sb.ToString(), UriKind.Relative))); }