예제 #1
0
        public static void PushModalDialog(Window window, string windowId)
        {
            window.PushModal();
            if (string.IsNullOrEmpty(windowId))
            {
                return;
            }

            WindowSettings settings = WindowSettings.GetByWindowId(windowId);

            if (settings == null)
            {
                return;
            }

            window.Resize(settings.Width, settings.Height);
            foreach (Paned pane in ComponentHelper.GetChildWidgetsByType <Paned> (window))
            {
                PaneSettings pair = settings.Panes.FirstOrDefault(p => p.Name == pane.Name);
                if (pair != null)
                {
                    pane.Position = pair.Position;
                }
            }

            ColumnSerializer.LoadColumnSettings(window, settings);
        }
예제 #2
0
        protected override void OnPageClose()
        {
            if (PersistGridsState)
            {
                string         id       = GetType().FullName;
                WindowSettings settings = WindowSettings.GetByWindowId(id) ?? new WindowSettings {
                    WindowId = id
                };
                ColumnSerializer.SaveColumnSettings(this, settings);
            }

            base.OnPageClose();
        }
예제 #3
0
        public override void OnPageAdded()
        {
            if (PersistGridsState)
            {
                string         id       = GetType().FullName;
                WindowSettings settings = WindowSettings.GetByWindowId(id);
                if (settings != null)
                {
                    ColumnSerializer.LoadColumnSettings(this, settings);
                }
            }

            base.OnPageAdded();
        }
예제 #4
0
        public static void PopModalDialog(Window window, string windowId)
        {
            window.PopModal();
            if (string.IsNullOrEmpty(windowId))
            {
                return;
            }

            WindowSettings settings = WindowSettings.GetByWindowId(windowId) ?? new WindowSettings {
                WindowId = windowId
            };

            settings.Width  = window.Allocation.Width;
            settings.Height = window.Allocation.Height;
            settings.Panes.Clear();
            foreach (Paned pane in ComponentHelper.GetChildWidgetsByType <Paned> (window))
            {
                settings.Panes.Add(new PaneSettings {
                    Name = pane.Name, Position = pane.Position
                });
            }

            ColumnSerializer.SaveColumnSettings(window, settings);
        }