/// <summary>
 /// Responds when a panel is closed and removes the view model from the collection
 /// </summary>
 /// <param name="e">The <see cref="DockItemClosedEventArgs"/></param>
 private void PanelClosed(DockItemClosedEventArgs e)
 {
     foreach (var dockPanelViewModel in e.AffectedItems.Select(p => p.DataContext).OfType <IPanelViewModel>())
     {
         this.DockPanelViewModels.Remove(dockPanelViewModel);
     }
 }
Пример #2
0
        /// <summary>
        /// Executed when the user closed an item in the <see cref="DockLayoutManager"/>.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="DockItemClosedEventArgs"/> instance containing the event data.</param>
        private void DockLayoutManagerOnDockItemClosed(object sender, DockItemClosedEventArgs e)
        {
            foreach (var affectedItem in e.AffectedItems)
            {
                var itemViewModel = affectedItem.DataContext as DashboardItemViewModel;

                if (this.ViewModel.Items.Contains(itemViewModel))
                {
                    this.ViewModel.CloseItem(itemViewModel);
                }
            }
        }
Пример #3
0
 private void DockLayoutManager_OnDockItemClosed(Object sender, DockItemClosedEventArgs e)
 {
     foreach (var item in e.AffectedItems)
     {
         if (item == HostView)
         {
             HostView = null;
         }
         else if (item == MapView)
         {
             MapView = null;
         }
     }
 }
Пример #4
0
        void dockManager_DockItemClosed(object sender, DockItemClosedEventArgs e)
        {
            DocumentPanel document = e.Item as DocumentPanel;

            if (document != null)
            {
                Note note = Note.GetNote(document);
                if (note != null && AllNotes.Remove(note))
                {
                    dockManager.DockController.RemovePanel(document);
                    Note.SetNote(document, null);
                }
            }
        }
Пример #5
0
 private void DockLayoutManagerOnDockItemClosed(object sender, DockItemClosedEventArgs e)
 {
     e.AffectedItems.Apply(async f => await((ModuleViewModel)f.DataContext).Deactivate(true).ConfigureAwait(false));
 }
Пример #6
0
        /// <summary>
        /// Handles a closed panel event and removes the associated <see cref="IPanelView"/> from the region
        /// </summary>
        /// <param name="region">The <see cref="IRegion"/></param>
        /// <param name="regionTarget">The <see cref="DocumentGroup"/></param>
        /// <param name="s">The sender</param>
        /// <param name="e">The <see cref="NotifyCollectionChangedEventArgs"/></param>
        private void OnPanelClosed(IRegion region, DocumentGroup regionTarget, object s, DockItemClosedEventArgs e)
        {
            foreach (var panel in e.AffectedItems)
            {
                var docPanel = panel as DocumentPanel;
                if (docPanel != null)
                {
                    var view = this.viewPanelPair.SingleOrDefault(x => x.Value == docPanel).Key;
                    if (view != null)
                    {
                        this.viewPanelPair.Remove(view);

                        region.Remove(view);
                    }
                }
            }
        }
Пример #7
0
 void DockItemClosed(object sender, DockItemClosedEventArgs e)
 {
     Debug.WriteLine("DockItemClosed: {0}", e.Item);
     dockLayoutManager1.ClosedPanels.Clear(); // Don't leave panels in semi-closed state
 }
Пример #8
0
        /// <summary>
        /// Handles the Dock Panel close event
        /// </summary>
        /// <param name="region">the region</param>
        /// <param name="regionTarget">the region target</param>
        /// <param name="s">the sender</param>
        /// <param name="e">the NotifyCollectionChangedEventArgs</param>
        private void OnPanelClosed(IRegion region, TabbedGroup regionTarget, object s, DockItemClosedEventArgs e)
        {
            foreach (var panel in e.AffectedItems)
            {
                var docPanel = panel as LayoutPanel;
                if (docPanel == null)
                {
                    continue;
                }

                var view = this.viewPanelPair.SingleOrDefault(x => x.Value == docPanel).Key;
                if (view == null)
                {
                    continue;
                }

                var regionAttribute =
                    view.GetType().GetCustomAttributes(typeof(PanelViewExportAttribute), true).SingleOrDefault() as
                    PanelViewExportAttribute;
                if (regionAttribute != null && regionAttribute.Region == region.Name)
                {
                    this.viewPanelPair.Remove(view);
                    region.Remove(view);
                }
            }
        }
Пример #9
0
 private void Preview_DockItemClosed(object sender, DockItemClosedEventArgs e)
 {
     throw new NotImplementedException();
 }
Пример #10
0
 private void DockLayoutManager_OnDockItemClosed(object sender, DockItemClosedEventArgs e)
 {
     e.Item.Closed = true;
 }
Пример #11
0
 void DockItemClosed(object sender, DockItemClosedEventArgs e)
 {
     Debug.WriteLine("DockItemClosed: {0}", e.Item);
     dockLayoutManager1.ClosedPanels.Clear(); // Don't leave panels in semi-closed state
 }
Пример #12
0
 private void DockLayoutManager_DockItemClosed(object sender, DockItemClosedEventArgs e)
 {
 }