private void ResetNavigation() { if (BundleRuntime.Instance.State == BundleRuntimeState.Stopping) { return; } Action resetNavigation = () => { // 重新初始化TreeView SkinUserControl = new Settings(); WelcomeControl = new Introduction(); LayoutDockPanel.Children.Clear(); ContentQueue.Clear(); OpenedPagesCache.Clear(); HideSidebar(); SideBars.Clear(); SideBarSettings.Clear(); TreeViewItemSelectionQueue.Clear(); TopTreeViewItemNavigationNodeTuples.Clear(); NavigationTreeView.Items.Clear(); InitializeNavigationTreeView(); if (BundleActivator.PermissionServiceTracker.IsServiceAvailable) { SetCurrentUser(BundleActivator.PermissionServiceTracker.DefaultOrFirstService.CurrentUserName); } ShowContent(WelcomeControl); }; Dispatcher.Invoke(resetNavigation); // 由界面代理线程来执行UI更新。 }