private void OnNavigated(NavigatedInfo info) { Logger.Debug("Navigation ended correctly ({0})", info.Request.RequestUrl); this.CreateRecentNavigationEntry(info); }
private void CreateRecentNavigationEntry(NavigatedInfo value) { if (value.Request.NavigationMode == NavigateMode.New) { this.Dispatcher.BeginInvoke( (Action)delegate { if (App.RunningOnWin7) { JumpList jl = JumpList.GetJumpList(Application.Current); if (jl != null) { if (jl.JumpItems.Count >= 10) { jl.JumpItems.Clear(); } var q = jl.JumpItems.OfType<JumpTask>().Where(t => t.Arguments.Equals(value.Request.RequestUrl)); if (q.Count() == 0) { jl.JumpItems.Add ( new JumpTask { CustomCategory = "Recent", Title = value.Title, Arguments = value.Request.RequestUrl, IconResourcePath = null, IconResourceIndex = -1, Description = null, WorkingDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) } ); jl.Apply(); } } } }, DispatcherPriority.Background); } }