Beispiel #1
0
 public void CreateTab( ViewModelBase viewModel )
 {
     viewModel.MainWindowViewModel = this;
     viewModel.RequestClose += delegate(object sender, EventArgs e) { this.CloseTab(viewModel); };
     this.Tabs.Add( viewModel );
     this.SetActiveTab( viewModel );
 }
Beispiel #2
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="viewModel"></param>
        public void ShowDialog(ViewModelBase viewModel)
        {
            Window window = GetWindow(viewModel);

            viewModel.RequestClose += delegate(object sender, EventArgs e) { window.Close(); };

            window.ShowDialog();
        }
Beispiel #3
0
        private Window GetWindow(ViewModelBase viewModel)
        {
            object target = Activator.CreateInstance( viewMapper.ResolveView( viewModel ) );

            Window window = target as Window;

            window.DataContext = viewModel;

            return window;
        }
Beispiel #4
0
 void CloseTab(ViewModelBase tabViewModel)
 {
     //tabViewModel.Dispose();
     this.Tabs.Remove(tabViewModel);
 }
Beispiel #5
0
        void SetActiveTab(ViewModelBase workspace)
        {
            if (!this.Tabs.Contains(workspace)) return;

            ICollectionView collectionView = CollectionViewSource.GetDefaultView(this.Tabs);
            if (collectionView != null)
                collectionView.MoveCurrentTo(workspace);
        }
Beispiel #6
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="viewModel"></param>
 public void Show(ViewModelBase viewModel)
 {
     GetWindow(viewModel).Show();
 }