public static void CloseDockPanel(DesktopPanelBase panel)
 {
     DesktopPanelToolViewModel
     .PanelsViewModels
     .Remove(panel.ViewModel);
     DesktopPanelToolViewModel
     .RecentPanelsViewModels
     .Add(panel.ViewModel);
     panel.Close();
 }
 public static void ShowDockPanel(DesktopPanelBase panel)
 {
     if (panel.ViewModel.IsCollapsed)
     {
         panel.ViewModel.Expand();
     }
     else
     {
         panel.Activate();
     }
 }
        public void UpdateWidgetViewBindings(DesktopPanelBase oldDesktopPanelBase, DesktopPanelBase newDesktopPanelBase)
        {
            var childs = WPFHelper.FindChilds <IconButton>(this);

            foreach (var c in childs)
            {
                if (c.ClickHandlerCommandParameter is object[] t && t.Length == 2 && t[0] == oldDesktopPanelBase)
                {
                    t[0] = newDesktopPanelBase;
                }
            }
        }
예제 #4
0
        /*static ObservableCollection<DesktopPanelBaseViewModel> PanelsViewModels
         *  = new ObservableCollection<DesktopPanelBaseViewModel>();
         */

        public static DesktopPanelBase AddDesktopPanel(
            DockName dock     = DockName.Left,
            ScreenInfo screen = null)
        {
            var panel = new DesktopPanelBase();

            PanelsViewModels.Add(panel.ViewModel);
            if (dock != DockName.None)
            {
                void attachMethod(object o, DependencyPropertyChangedEventArgs e)
                {
                    panel.IsVisibleChanged -= attachMethod;
                    panel.ViewModel.AttachToDock(dock, screen);
                }

                panel.IsVisibleChanged += attachMethod;
            }
            return(panel);
        }
        public static DesktopPanelBase AddDesktopPanel(
            DesktopPanelBase panel = null,
            DockName dock          = DockName.None,
            ScreenInfo screen      = null,
            bool isPined           = false,
            bool isCollapsed       = false)
        {
            if (panel == null)
            {
                panel = new DesktopPanelBase();
            }
            DesktopPanelToolViewModel
            .PanelsViewModels
            .Add(panel.ViewModel);
            if (dock != DockName.None)
            {
                void attachMethod(object o, DependencyPropertyChangedEventArgs e)
                {
                    panel.IsVisibleChanged -= attachMethod;
                    panel.ViewModel.AttachToDock(
                        dock,
                        screen);
                    if (isPined)
                    {
                        panel.ViewModel.Pin();
                    }
                    if (isCollapsed)
                    {
                        panel.ViewModel.Collapse();
                    }
                }

                panel.IsVisibleChanged += attachMethod;
            }
            return(panel);
        }
예제 #6
0
 public static void CloseDockPanel(DesktopPanelBase panel = null)
 {
     PanelsViewModels.Remove(panel.ViewModel);
     panel.Close();
 }
 public static void ResetDockPanel(DesktopPanelBase panel)
 {
 }
 public DesktopPanelBaseViewModel(DesktopPanelBase view)
 {
     View = view;
     Initialize();
 }
 public DesktopPanelBaseViewModel(SerializationInfo info, StreamingContext context)
 {
     SettingsBackup = info.GetValues(this, _members);
     View           = new DesktopPanelBase(this);
     Initialize();
 }