Beispiel #1
0
        private static void SaveSizeWithNameChangedCallback(DependencyObject obj, DependencyPropertyChangedEventArgs args)
        {
            var gs   = (GridSplitter)obj;
            var grid = gs.FindParent <Grid>();

            if (grid == null)
            {
                throw new Exception("Can't find grid!");
            }

            GridSplitterData values;
            var sizes = GridSplitterSizes.Instance.GridSplitters;
            var name  = args.NewValue.ToString();

            if (sizes.ContainsKey(name))
            {
                values = sizes[name];
            }
            else
            {
                values = new GridSplitterData();
                sizes.Add(name, values);
            }

            gs.DragCompleted += (sender, eventArgs) =>
            {
                try
                {
                    values.Update(gs, grid);

                    GridSplitterSizes.Instance.Save();
                }
                catch
                {
                }
            };

            gs.Loaded += (sender, eventArgs) =>
            {
                try
                {
                    values.Restore(gs, grid);
                }
                catch
                {
                }
            };
        }
        private static void SaveSizeWithNameChangedCallback(DependencyObject obj, DependencyPropertyChangedEventArgs args)
        {
            var gs = (GridSplitter)obj;
            var grid = gs.FindParent<Grid>();
            if (grid == null)
            {
                throw new Exception("Can't find grid!");
            }

            GridSplitterData values;
            var sizes = GridSplitterSizes.Instance.GridSplitters;
            var name = args.NewValue.ToString();
            if (sizes.ContainsKey(name))
            {
                values = sizes[name];
            }
            else
            {
                values = new GridSplitterData();
                sizes.Add(name, values);
            }

            gs.DragCompleted += (sender, eventArgs) =>
            {
                try
                {
                    values.Update(gs, grid);

                    GridSplitterSizes.Instance.Save();
                }
                catch
                {
                }
            };

            gs.Loaded += (sender, eventArgs) =>
            {
                try
                {
                    values.Restore(gs, grid);
                }
                catch
                {
                }
            };
        }