protected override async Task <bool> Initialize() { var baseInitialized = await base.Initialize(); if (baseInitialized && !initialized) { var viewObjects = regionManager.Regions[Regions.MainViewMain].Views; foreach (var viewObject in viewObjects) { var view = (View)viewObject; // Cannot use the actual Views in the list because of resulting errors in the visual tree. var destination = new Destination() { DisplayName = view.Name, Uri = new Uri(view.GetType().Name, UriKind.Relative) }; MainViews.Add(destination); } initialized = true; } return(initialized); }
/// <summary> /// Send a message to display a new view. /// </summary> /// <param name="view">view to display</param> private void SendMessage(MainViews view) { MainViewMessage message = new MainViewMessage( view); Messenger.Default.Send <MainViewMessage>(message); }
// 手动调用:销毁UI protected void DoDestroyView() { RootView?.DoDestroy(); foreach (var item in MainViews) { item.DoDestroy(); } AllMainViews.RemoveAll(x => MainViews.Contains(x)); MainViews.Clear(); OpenedMainViews.Clear(); GroupViews.Clear(); IgnoreBlockClick.Clear(); IgnoreBlockClickOnce.Clear(); }
public void LoadData() { if (MainViews == null) { MainViews = new ObservableCollection <PanoramaItem> { new PanoramaItem { Header = "welcome", Content = new Views.Welcome() }, new PanoramaItem { Header = "projects", Content = new Views.ProjectList() }, new PanoramaItem { Header = "resources", Content = new Views.ResourceList() } }; var welcomeView = (Views.Welcome)MainViews.First(r => r.Content is Views.Welcome).Content; welcomeView.DataContext = new ViewModels.Welcome(); } if (ProjectsChanged) { ProjectsChanged = false; var projectView = (Views.ProjectList)MainViews.First(r => r.Content is Views.ProjectList).Content; projectView.DataContext = new ViewModels.ProjectList(); // new List<object> { new ViewModels.ProjectList() }; } if (ResourcesChanged) { ResourcesChanged = false; var resourceView = (Views.ResourceList)MainViews.First(r => r.Content is Views.ResourceList).Content; resourceView.DataContext = new List <object> { new ViewModels.ResourceList() }; } }
public void AddToMainViews(UView tempUI) { MainViews.Add(tempUI); AllMainViews.Add(tempUI); }
/// <summary> /// Imitialisese s new instance of the <see cref="MainViewMessage"/> class. /// </summary> /// <param name="view">view to display</param> public MainViewMessage(MainViews view) { this.View = view; }