Ejemplo n.º 1
1
 public void BackgroundGetThroughCode()
 {
     GridSplitter splitter = new GridSplitter();
     Brush b = new SolidColorBrush(Colors.Black);
     splitter.SetValue(GridSplitter.BackgroundProperty, b);
     Assert.AreEqual(b, splitter.Background, "Getting Background property should pull from the backing dependency property.");
 }
Ejemplo n.º 2
1
 public void BackgroundSetThroughCode()
 {
     GridSplitter splitter = new GridSplitter();
     Brush b = new SolidColorBrush(Colors.Black);
     splitter.Background = b;
     Assert.AreEqual(b, splitter.GetValue(GridSplitter.BackgroundProperty), "Setting Background property should set backing dependency property.");
 }
Ejemplo n.º 3
0
        public void Horizontal_Stays_Within_Constraints()
        {
            var cursorFactoryImpl = new Mock<IStandardCursorFactory>();
            PerspexLocator.CurrentMutable.Bind<IStandardCursorFactory>().ToConstant(cursorFactoryImpl.Object);

            var control1 = new Border { [Grid.RowProperty] = 0 };
            var splitter = new GridSplitter
            {
                Orientation = Orientation.Horizontal,
                [Grid.RowProperty] = 1,
            };
            var control2 = new Border { [Grid.RowProperty] = 2 };

            var rowDefinitions = new RowDefinitions()
            {
                new RowDefinition(1, GridUnitType.Star) {MinHeight = 70, MaxHeight = 110},
                new RowDefinition(GridLength.Auto),
                new RowDefinition(1, GridUnitType.Star) { MinHeight = 10, MaxHeight =  140},
            };

            var grid = new Grid()
            {
                RowDefinitions = rowDefinitions,
                Children = new Controls()
                {
                    control1, splitter, control2
                }
            };

            var root = new TestRoot { Child = grid };
            Assert.Equal(splitter.Orientation, Orientation.Horizontal);
            root.Measure(new Size(100, 200));
            root.Arrange(new Rect(0, 0, 100, 200));

            splitter.RaiseEvent(new VectorEventArgs
            {
                RoutedEvent = Thumb.DragDeltaEvent,
                Vector = new Vector(0, -100)
            });
            Assert.Equal(rowDefinitions[0].Height, new GridLength(70, GridUnitType.Star));
            Assert.Equal(rowDefinitions[2].Height, new GridLength(130, GridUnitType.Star));
            splitter.RaiseEvent(new VectorEventArgs
            {
                RoutedEvent = Thumb.DragDeltaEvent,
                Vector = new Vector(0, 100)
            });
            Assert.Equal(rowDefinitions[0].Height, new GridLength(110, GridUnitType.Star));
            Assert.Equal(rowDefinitions[2].Height, new GridLength(90, GridUnitType.Star));
        }
Ejemplo n.º 4
0
        private void DefineMainLayout()
        {
            mainGrid = new Grid()
            {
                VerticalAlignment   = VerticalAlignment.Stretch,
                HorizontalAlignment = HorizontalAlignment.Stretch,
            };
            var topPanel = new RowDefinition
            {
                Height = new GridLength(1, GridUnitType.Auto),
            };
            var splitterPanel = new RowDefinition
            {
                Height = new GridLength(1, GridUnitType.Auto),
            };
            var bottomPanel = new RowDefinition
            {
                Height = new GridLength(1, GridUnitType.Star),
            };

            mainGrid.RowDefinitions.Add(topPanel);
            mainGrid.RowDefinitions.Add(splitterPanel);
            mainGrid.RowDefinitions.Add(bottomPanel);
            var splitter = new GridSplitter()
            {
                ResizeDirection     = GridResizeDirection.Rows,
                VerticalAlignment   = VerticalAlignment.Stretch,
                HorizontalAlignment = HorizontalAlignment.Stretch,
                Height     = 3,
                Background = new SolidColorBrush(Colors.Black),
                Margin     = new Thickness(0),
            };

            mainGrid.Children.Add(splitter);
            Grid.SetRow(splitter, 1);
        }
        /// <summary>
        /// C-tor switching which grouping to create in the list...
        /// </summary>
        /// <param name="index"></param>
        public PrintAllTesters(int index)
        {
            InitializeComponent();

            BL.IBL bl = BL.BlFactory.GetBL();
            if (index == 0)
            {
                testerListView.DataContext = bl.GetTesters();
            }
            else if (index == 2)
            {
                var DataSource = bl.TestersOver60YO();;
                if (!DataSource.Any())
                {
                    MessageBox.Show("אין בוחנים מתאימים לתנאי זה", "", MessageBoxButton.OK, MessageBoxImage.None, MessageBoxResult.OK
                                    , MessageBoxOptions.RtlReading);
                    return;
                }
                testerListView.DataContext = DataSource;
            }


            else if (index == 1)
            {
                foreach (var item in bl.TestersGroupedByCarType(true))
                {
                    foreach (var tester in item)
                    {
                        testerListView.Items.Add(tester);
                    }
                    var split = new GridSplitter();

                    testerListView.Items.Add(new GridSplitter());
                }
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Wire up synchronisation event handlers when control was loaded.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnLoaded(object sender, RoutedEventArgs e)
        {
            _PART_ColumnA = GetTemplateChild("PART_ColumnA") as ColumnDefinition;
            _PART_ColumnB = GetTemplateChild("PART_ColumnB") as ColumnDefinition;

            _PART_GridSplitter = GetTemplateChild("PART_GridSplitter") as GridSplitter;

            _PART_GridA = GetTemplateChild(PART_GridA) as DataGrid;
            _PART_GridB = GetTemplateChild(PART_GridB) as DataGrid;

            _leftGridScrollViewer  = GetScrollViewer(_PART_GridA);
            _rightGridScrollViewer = GetScrollViewer(_PART_GridB);

            if (_PART_GridA != null && _PART_GridB != null &&
                _leftGridScrollViewer != null && _rightGridScrollViewer != null)
            {
                _leftGridScrollViewer.ScrollChanged  += Grid_ScrollChanged;
                _rightGridScrollViewer.ScrollChanged += Grid_ScrollChanged;

                _PART_GridA.SelectionChanged += Grid_SelectionChanged;
                _PART_GridB.SelectionChanged += Grid_SelectionChanged;

                // Attach more event handlers
                _PART_GridA.GotFocus += DiffView_GotFocus;
                _PART_GridB.GotFocus += DiffView_GotFocus;
            }

            if (_PART_GridSplitter != null)
            {
                _PART_GridSplitter.DragCompleted += _PART_GridSplitter_DragCompleted;
                _PART_GridSplitter.DragDelta     += _PART_GridSplitter_DragDelta;
            }

            // Initialize background color defintions for line background highlighting
            OnColorChanged(null);
        }
Ejemplo n.º 7
0
        public SplitNine()
        {
            Title = "Split Nine";   // Устанавливаем заголовок окна

            Grid grid = new Grid(); // Создаём объект класса Grid (таблицу)

            Content = grid;         // Задаёт значение ContentControl класса Grid

            // Set row and column definitions.
            for (int i = 0; i < 3; i++)
            {
                grid.ColumnDefinitions.Add(new ColumnDefinition()); // Добавляем новый столбец в таблицу
                grid.RowDefinitions.Add(new RowDefinition());       // Добавляем новую строку в таблицу
            }

            // Create 9 buttons.
            for (int x = 0; x < 3; x++)
            {
                for (int y = 0; y < 3; y++)
                {
                    Button btn = new Button();                     // Создаём объект класса Button (кнопку)
                    btn.Content = "Row " + y + " and Column " + x; // Задаёт значение ContentControl класса Button
                    grid.Children.Add(btn);                        // Добавление элементов управления на панель Grid
                    Grid.SetRow(btn, y);                           // Задаём строку для отображения элемента
                    Grid.SetColumn(btn, x);                        // Задаём столбец для отображения элемента
                }
            }

            // Create splitter.
            GridSplitter split = new GridSplitter(); // Создаём объект класса GridSplitter

            split.Width = 6;                         // Задаём ширину
            grid.Children.Add(split);                // Добавление элементов управления на панель GridSplitter
            Grid.SetRow(split, 1);                   // Задаём строку для отображения элемента
            Grid.SetColumn(split, 1);                // Задаём столбец для отображения элемента
        }
Ejemplo n.º 8
0
        private void CreateBottomMarginControls(Decorator parent)
        {
            var height = _settings.PreviewHeight;

            var splitter = new GridSplitter {
                Height              = 5,
                ResizeDirection     = GridResizeDirection.Rows,
                VerticalAlignment   = VerticalAlignment.Stretch,
                HorizontalAlignment = HorizontalAlignment.Stretch
            };

            splitter.DragCompleted += BottomDragCompleted;

            var grid = new Grid {
                RowDefinitions =
                {
                    new RowDefinition {
                        Height = new GridLength(0, GridUnitType.Star)
                    },
                    new RowDefinition {
                        Height = new GridLength(5, GridUnitType.Pixel)
                    },
                    new RowDefinition {
                        Height = new GridLength(height, GridUnitType.Pixel)
                    }
                },
                ColumnDefinitions = { new ColumnDefinition() },
                Children          =
                {
                    splitter.SetGridPosition(1,    0),
                    _webBrowser.SetGridPosition(2, 0)
                }
            };

            parent.Child = grid;
        }
Ejemplo n.º 9
0
        private void AddRowHeader(RowDefinition nwMainGridRow)
        {
            var nwRowHeaderDefenition = new RowDefinition()
            {
                Height    = GridLength.Auto,
                MinHeight = MIN_CELL_HEIGHT
            };
            var heightBinding = new Binding("Height")
            {
                Source = nwMainGridRow,
                Mode   = BindingMode.TwoWay
            };

            nwRowHeaderDefenition.SetBinding(RowDefinition.HeightProperty, heightBinding);
            nwRowHeaderDefenition.Height = new GridLength(MIN_CELL_HEIGHT);
            RowNumberGrid.RowDefinitions.Add(nwRowHeaderDefenition);

            var rowHeaderContent = CreateRowHeaderContent(RowNumberGrid.RowDefinitions.Count - 1);

            Grid.SetRow(rowHeaderContent, RowNumberGrid.RowDefinitions.Count - 1);
            RowNumberGrid.Children.Add(rowHeaderContent);

            var nwGridSplitter = new GridSplitter()
            {
                HorizontalAlignment = HorizontalAlignment.Stretch,
                VerticalAlignment   = VerticalAlignment.Bottom,
                Background          = new SolidColorBrush(),
                Height = 6
            };

            Grid.SetRow(nwGridSplitter, RowNumberGrid.RowDefinitions.Count - 1);
            RowNumberGrid.Children.Add(nwGridSplitter);

            rowNumberStructure.Add((rowHeaderContent, nwGridSplitter));
            Debug.Assert(rowNumberStructure.Count == RowNumberGrid.RowDefinitions.Count);
        }
Ejemplo n.º 10
0
        public SplitNine()
        {
            Title = "Split Nine";

            Grid grid = new Grid();

            Content = grid;

            // Set row and column definitions.
            for (int i = 0; i < 3; i++)
            {
                grid.ColumnDefinitions.Add(new ColumnDefinition());
                grid.RowDefinitions.Add(new RowDefinition());
            }

            // Create 9 buttons.
            for (int x = 0; x < 3; x++)
            {
                for (int y = 0; y < 3; y++)
                {
                    Button btn = new Button();
                    btn.Content = "Row " + y + " and Column " + x;
                    grid.Children.Add(btn);
                    Grid.SetRow(btn, y);
                    Grid.SetColumn(btn, x);
                }
            }

            // Create splitter.
            GridSplitter split = new GridSplitter();

            split.Width = 6;
            grid.Children.Add(split);
            Grid.SetRow(split, 1);
            Grid.SetColumn(split, 1);
        }
Ejemplo n.º 11
0
        public bool Restore(GridSplitter gs, Grid grid)
        {
            var any = false;

            if (Rows.Count == grid.RowDefinitions.Count)
            {
                for (int i = 0; i < grid.RowDefinitions.Count; i++)
                {
                    var gridRow = grid.RowDefinitions[i];
                    gridRow.Height = Rows[i];
                }
                any = true;
            }
            if (Cols.Count == grid.ColumnDefinitions.Count)
            {
                for (int i = 0; i < grid.ColumnDefinitions.Count; i++)
                {
                    var gridCol = grid.ColumnDefinitions[i];
                    gridCol.Width = Cols[i];
                }
                any = true;
            }
            return(any);
        }
Ejemplo n.º 12
0
        public void FillHeader(Grid header)
        {
            int counter = 0;

            foreach (var column in this.ColumnConfig)
            {
                // create columns
                var cdef = new ColumnDefinition()
                {
                    Width = column.Width
                };
                header.ColumnDefinitions.Add(cdef);
                cdef.SharedSizeGroup = "COL_" + counter;
                // set header
                var tb = new ContentControl()
                {
                    Content = column.Header
                };
                tb.Classes.Add("Header");
                Grid.SetColumn(tb, counter);
                Grid.SetRow(tb, 0);
                Grid.SetRowSpan(tb, HeaderRow + 1);
                header.Children.Add(tb);
                if (column.CanResize)
                {
                    var splitter = new GridSplitter()
                    {
                        ResizeDirection = GridResizeDirection.Columns, HorizontalAlignment = Avalonia.Layout.HorizontalAlignment.Right
                    };
                    Grid.SetColumn(splitter, counter);
                    Grid.SetRow(splitter, HeaderRow);
                    header.Children.Add(splitter);
                }
                counter++;
            }
        }
Ejemplo n.º 13
0
        private void InitializeGridSplitterSnip(object sender, EventArgs e)
        {
            GridSplitter myGridSplitter = new GridSplitter();

            Grid.SetRow(myGridSplitter, 6);
            Grid.SetColumn(myGridSplitter, 6);
            //<SnippetDragIncrement>
            myGridSplitter.DragIncrement = 10;
            //</SnippetDragIncrement>

            //<SnippetKeyboardIncrement>
            myGridSplitter.KeyboardIncrement = 25;
            //</SnippetKeyboardIncrement>

            //<SnippetResizeDirection>
            myGridSplitter.ResizeDirection = GridResizeDirection.Columns;
            //</SnippetResizeDirection>

            //<SnippetResizeBehavior>
            myGridSplitter.ResizeBehavior = GridResizeBehavior.CurrentAndNext;
            //</SnippetResizeBehavior>

            //<SnippetShowsPreview>
            myGridSplitter.ShowsPreview = true;
            //</SnippetShowsPreview>

            //<SnippetGridSplitterSimpleExample>
            GridSplitter mySimpleGridSplitter = new GridSplitter();

            Grid.SetColumn(mySimpleGridSplitter, 0);
            mySimpleGridSplitter.Background          = Brushes.Blue;
            mySimpleGridSplitter.HorizontalAlignment = HorizontalAlignment.Right;
            mySimpleGridSplitter.VerticalAlignment   = VerticalAlignment.Stretch;
            mySimpleGridSplitter.Width = 5;
            //</SnippetGridSplitterSimpleExample>
        }
Ejemplo n.º 14
0
        private void CreateBottomMarginControls()
        {
            var height = _settings.PreviewHeight;

            var grid = new Grid();

            grid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(0, GridUnitType.Star)
            });
            grid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(5, GridUnitType.Pixel)
            });
            grid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(height, GridUnitType.Pixel)
            });
            grid.ColumnDefinitions.Add(new ColumnDefinition());

            grid.Children.Add(Browser.Control);
            Child = grid;

            Grid.SetColumn(Browser.Control, 0);
            Grid.SetRow(Browser.Control, 2);

            var splitter = new GridSplitter {
                Height              = 5,
                ResizeDirection     = GridResizeDirection.Rows,
                VerticalAlignment   = VerticalAlignment.Stretch,
                HorizontalAlignment = HorizontalAlignment.Stretch
            };

            splitter.DragCompleted += BottomDragCompleted;

            grid.Children.Add(splitter);
            Grid.SetColumn(splitter, 0);
            Grid.SetRow(splitter, 1);
        }
Ejemplo n.º 15
0
        public GridSpliter()
        {
            Title = "Split the grid in 9 part";

            Grid grid = new Grid();

            Content = grid;

            for (int i = 0; i < 3; i++)
            {
                grid.RowDefinitions.Add(new RowDefinition());
                grid.ColumnDefinitions.Add(new ColumnDefinition());
            }

            for (int x = 0; x < 3; x++)
            {
                for (int y = 0; y < 3; y++)
                {
                    Button btn = new Button();
                    btn.Content = "Row " + x + "," + "Col " + y;
                    btn.Margin  = new Thickness(10);
                    grid.Children.Add(btn);
                    Grid.SetRow(btn, x);
                    Grid.SetColumn(btn, y);
                }
            }

            GridSplitter gridSpliter = new GridSplitter();

            gridSpliter.HorizontalAlignment = HorizontalAlignment.Left;
            gridSpliter.Width = 6;
            grid.Children.Add(gridSpliter);
            Grid.SetRow(gridSpliter, 0);
            Grid.SetColumn(gridSpliter, 1);
            Grid.SetRowSpan(gridSpliter, 3);
        }
Ejemplo n.º 16
0
        public SplitNine()
        {
            Title = "Split Nine";

            Grid grid = new Grid();

            Content = grid;

            // Установите определения строк и столбцов.
            for (int i = 0; i < 3; i++)
            {
                grid.ColumnDefinitions.Add(new ColumnDefinition());
                grid.RowDefinitions.Add(new RowDefinition());
            }

            // Создание 9 кнопок.
            for (int x = 0; x < 3; x++)
            {
                for (int y = 0; y < 3; y++)
                {
                    Button btn = new Button();
                    btn.Content = "Row " + y + " and Column " + x;
                    grid.Children.Add(btn);
                    Grid.SetRow(btn, y);
                    Grid.SetColumn(btn, x);
                }
            }

            // Создание разделителя
            GridSplitter split = new GridSplitter();

            split.Width = 6;
            grid.Children.Add(split);
            Grid.SetRow(split, 1);
            Grid.SetColumn(split, 1);
        }
Ejemplo n.º 17
0
        public void Horizontal_Stays_Within_Constraints()
        {
            var cursorFactoryImpl = new Mock <IStandardCursorFactory>();

            PerspexLocator.CurrentMutable.Bind <IStandardCursorFactory>().ToConstant(cursorFactoryImpl.Object);

            var control1 = new Border {
                [Grid.RowProperty] = 0
            };
            var splitter = new GridSplitter
            {
                Orientation        = Orientation.Horizontal,
                [Grid.RowProperty] = 1,
            };
            var control2 = new Border {
                [Grid.RowProperty] = 2
            };

            var rowDefinitions = new RowDefinitions()
            {
                new RowDefinition(1, GridUnitType.Star)
                {
                    MinHeight = 70, MaxHeight = 110
                },
                new RowDefinition(GridLength.Auto),
                new RowDefinition(1, GridUnitType.Star)
                {
                    MinHeight = 10, MaxHeight = 140
                },
            };

            var grid = new Grid()
            {
                RowDefinitions = rowDefinitions,
                Children       = new Controls()
                {
                    control1, splitter, control2
                }
            };

            var root = new TestRoot {
                Child = grid
            };

            Assert.Equal(splitter.Orientation, Orientation.Horizontal);
            root.Measure(new Size(100, 200));
            root.Arrange(new Rect(0, 0, 100, 200));

            splitter.RaiseEvent(new VectorEventArgs
            {
                RoutedEvent = Thumb.DragDeltaEvent,
                Vector      = new Vector(0, -100)
            });
            Assert.Equal(rowDefinitions[0].Height, new GridLength(70, GridUnitType.Star));
            Assert.Equal(rowDefinitions[2].Height, new GridLength(130, GridUnitType.Star));
            splitter.RaiseEvent(new VectorEventArgs
            {
                RoutedEvent = Thumb.DragDeltaEvent,
                Vector      = new Vector(0, 100)
            });
            Assert.Equal(rowDefinitions[0].Height, new GridLength(110, GridUnitType.Star));
            Assert.Equal(rowDefinitions[2].Height, new GridLength(90, GridUnitType.Star));
        }
Ejemplo n.º 18
0
        public void Vertical_Stays_Within_Constraints()
        {
            var cursorFactoryImpl = new Mock <IStandardCursorFactory>();

            PerspexLocator.CurrentMutable.Bind <IStandardCursorFactory>().ToConstant(cursorFactoryImpl.Object);

            var control1 = new Border {
                [Grid.ColumnProperty] = 0
            };
            var splitter = new GridSplitter
            {
                Orientation           = Orientation.Vertical,
                [Grid.ColumnProperty] = 1,
            };
            var control2 = new Border {
                [Grid.ColumnProperty] = 2
            };

            var columnDefinitions = new ColumnDefinitions()
            {
                new ColumnDefinition(1, GridUnitType.Star)
                {
                    MinWidth = 10, MaxWidth = 190
                },
                new ColumnDefinition(GridLength.Auto),
                new ColumnDefinition(1, GridUnitType.Star)
                {
                    MinWidth = 80, MaxWidth = 120
                },
            };

            var grid = new Grid()
            {
                ColumnDefinitions = columnDefinitions,
                Children          = new Controls()
                {
                    control1, splitter, control2
                }
            };

            var root = new TestRoot {
                Child = grid
            };

            Assert.Equal(splitter.Orientation, Orientation.Vertical);

            root.Measure(new Size(200, 100));
            root.Arrange(new Rect(0, 0, 200, 100));

            splitter.RaiseEvent(new VectorEventArgs
            {
                RoutedEvent = Thumb.DragDeltaEvent,
                Vector      = new Vector(-100, 0)
            });
            Assert.Equal(columnDefinitions[0].Width, new GridLength(80, GridUnitType.Star));
            Assert.Equal(columnDefinitions[2].Width, new GridLength(120, GridUnitType.Star));
            splitter.RaiseEvent(new VectorEventArgs
            {
                RoutedEvent = Thumb.DragDeltaEvent,
                Vector      = new Vector(100, 0)
            });
            Assert.Equal(columnDefinitions[0].Width, new GridLength(120, GridUnitType.Star));
            Assert.Equal(columnDefinitions[2].Width, new GridLength(80, GridUnitType.Star));
        }
Ejemplo n.º 19
0
 protected virtual void AddGridSplitter(int rowCount)
 {
     GridSplitter gsp = new GridSplitter()
       {
     IsTabStop = false,
     HorizontalAlignment = HorizontalAlignment.Left,
     VerticalAlignment = VerticalAlignment.Stretch,
     Background = Brushes.Transparent,
     ShowsPreview = false,
     Width = 2
       };
       Grid.SetColumn(gsp, 2);
       Grid.SetRowSpan(gsp, rowCount);
       Canvas.SetZIndex(gsp, 1);
       this.Children.Add(gsp);
 }
Ejemplo n.º 20
0
 public void InstantiateGridSplitterCode()
 {
     GridSplitter splitter = new GridSplitter();
     Assert.IsNotNull(splitter, "GridSplitter construction should succeed.");
 }
Ejemplo n.º 21
0
 public void PreviewStyleSetThroughCode()
 {
     GridSplitter splitter = new GridSplitter();
     Style s = new Style(typeof(PreviewControl));
     splitter.PreviewStyle = s;
     Assert.AreEqual(s, splitter.GetValue(GridSplitter.PreviewStyleProperty), "Setting PreviewStyle property should set backing dependency property.");
 }
Ejemplo n.º 22
0
 public void ShowsPreviewSetThroughCode()
 {
     GridSplitter splitter = new GridSplitter();
     splitter.ShowsPreview = false;
     Assert.AreEqual(false, splitter.GetValue(GridSplitter.ShowsPreviewProperty), "Setting ShowsPreview property should set backing dependency property.");
 }
Ejemplo n.º 23
0
        private void LoginControl_AfterActionEventHandler(ICore sender, AtomusControlEventArgs e)
        {
            try
            {
                switch (e.Action)
                {
                case "DragMove":
                    this.DragMove();
                    break;

                case "Opacity.Set":
                    Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new System.Action(delegate
                    {
                        (this.DataContext as ViewModel.ModernBrowserViewModel).Opacity = (double)e.Value;
                    }));
                    break;

                case "Opacity.Get":
                    Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new System.Action(delegate
                    {
                        e.Value = (this.DataContext as ViewModel.ModernBrowserViewModel).Opacity;
                    }));
                    break;

                case "Form.Size":
                    this.Width  = ((Size)e.Value).Width;
                    this.Height = ((Size)e.Value).Height;

                    ((UserControl)this.loginControl).Width  = this.Width;
                    ((UserControl)this.loginControl).Height = this.Height;
                    break;

                case "Login.Ok":
                    this.Style = this.DefaultWindowStyle;

                    (this.DataContext as ViewModel.ModernBrowserViewModel).Opacity = 0;

                    this.gridLayout.Children.Remove((UserControl)this.loginControl);

                    //this.ControlBox = true;
                    this.ShowInTaskbar = true;

                    this.WindowStyle = WindowStyle.SingleBorderWindow;

                    //this.AllowsTransparency = false;
                    this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
                    this.Topmost = false;

                    //this.WindowState = WindowState.Maximized;
                    //this.WindowState = WindowState.Normal;
                    //this.WindowState = WindowState.Maximized;

                    //try
                    //{
                    //    this.Icon = await this.GetAttributeMediaWebImage("Icon");
                    //}
                    //catch (Exception _Exception)
                    //{
                    //    DiagnosticsTool.MyTrace(_Exception);
                    //}

                    this.ResizeMode = ResizeMode.CanResizeWithGrip;

                    this.Style = null;
                    this.Style = this.DefaultWindowStyle;

                    //(this.DataContext as ViewModel.ModernBrowserViewModel).UserID = null;

                    this.SetBrowserViewer();

                    this.SetToolbar();

                    //this.SetStatusBar();

                    this.SetCenter();

                    this.SetMenu();

                    if (this.toolbarControl != null)
                    {
                        this.toolbarControl.ControlAction(this, "Menu.TopMenu", this.menuControl?.ControlAction(this, "Menu.TopMenu", null));
                    }

                    this.gridSplitter = new GridSplitter()
                    {
                        Width = 5,
                        HorizontalAlignment = HorizontalAlignment.Right,
                        VerticalAlignment   = VerticalAlignment.Stretch,
                        ResizeBehavior      = GridResizeBehavior.CurrentAndNext,
                        Background          = new SolidColorBrush("#2a3344".ToMediaColor())
                    };
                    this.gridCenter.Children.Add(this.gridSplitter);

                    this.SetTabControl();

                    this.AddHomeControl();

                    //this.SetStatusStrip();

                    //(this.DataContext as ViewModel.ModernBrowserViewModel).Opacity = 1;

                    //this.FormClosing -= new FormClosingEventHandler(this.DefaultBrowser_FormClosing);
                    break;

                case "Login.Cancel":
                    //this.Style = this.DefaultWindowStyle;
                    this.Close();
                    break;

                case "Login.JoinOrAccessNumberChange":
                    this.SetJoinControl();
                    break;

                default:
                    throw new AtomusException((this).GetMessage("Common", "00047", "'{0}'은(는) 처리할 수 없는 {1} 입니다.").Message.Translate(e.Action, "Action"));
                    //throw new AtomusException("'{0}'은 처리할 수 없는 Action 입니다.".Translate(e.Action));
                }
            }
            catch (Exception ex)
            {
                (this).WindowsMessageBoxShow(Application.Current.Windows[0], ex);
            }
        }
Ejemplo n.º 24
0
        public void GridSplitterTest()
        {
            Grid grid = new Grid();
            grid.Height = 100.0;
            grid.Width = 100.0;
            grid.RowDefinitions.Add(new RowDefinition());
            grid.RowDefinitions.Add(new RowDefinition());
            grid.ColumnDefinitions.Add(new ColumnDefinition());
            grid.ColumnDefinitions.Add(new ColumnDefinition());

            GridSplitter splitter = new GridSplitter();
            splitter.SetValue(Grid.ColumnProperty, 1);
            splitter.SetValue(Grid.RowSpanProperty, 2);
            splitter.Width = 5.0;
            splitter.ShowsPreview = true;
            splitter.HorizontalAlignment = HorizontalAlignment.Left;

            grid.Children.Add(splitter);
            this.CreateAsyncTest(grid,
                () => splitter.DragValidator_DragStartedEvent(splitter, new DragStartedEventArgs(0.0, 0.0)),
                () => splitter.DragValidator_DragDeltaEvent(splitter, new DragDeltaEventArgs(5.0, 6.0)),
                () => splitter.DragValidator_DragCompletedEvent(splitter, new DragCompletedEventArgs(5.0, 6.0, false)),
                delegate
                {
                    Assert.IsNull(splitter._resizeData, "The stored ResizeData instance should be gone since the resize operation is over.");
                    Assert.AreEqual(55.0, grid.ColumnDefinitions[0].ActualWidth, "The first column should have had the new width committed.");
                    Assert.AreEqual(45.0, grid.ColumnDefinitions[1].ActualWidth, "The second column should have had the new width committed.");
                });
        }
Ejemplo n.º 25
0
 private void Button_Click_4(object sender, RoutedEventArgs e)
 {
     GridSplitter window = new GridSplitter();
     window.Show();
 }
Ejemplo n.º 26
0
        public void Arrange(Grid grid)
        {
            if (AttachedPane != null)//AttachedPane.IsHidden)
            {
                grid.Children.Add(AttachedPane);
            }
            else if (FirstChildGroup.IsHidden && !SecondChildGroup.IsHidden)
            {
                SecondChildGroup.Arrange(grid);
            }
            else if (!FirstChildGroup.IsHidden && SecondChildGroup.IsHidden)
            {
                FirstChildGroup.Arrange(grid);
            }
            else
            {
                if (Dock == Dock.Left || Dock == Dock.Right)
                {
                    grid.RowDefinitions.Add(new RowDefinition());
                    grid.ColumnDefinitions.Add(new ColumnDefinition());
                    grid.ColumnDefinitions.Add(new ColumnDefinition());
                    //grid.ColumnDefinitions[0].Width = (Dock == Dock.Left) ? new GridLength(AttachedPane.PaneWidth) : new GridLength(1, GridUnitType.Star);
                    //grid.ColumnDefinitions[1].Width = (Dock == Dock.Right) ? new GridLength(AttachedPane.PaneWidth) : new GridLength(1, GridUnitType.Star);
                    grid.ColumnDefinitions[0].Width = (Dock == Dock.Left) ? FirstChildGroup.GroupWidth : new GridLength(1, GridUnitType.Star);
                    grid.ColumnDefinitions[1].Width = (Dock == Dock.Right) ? SecondChildGroup.GroupWidth : new GridLength(1, GridUnitType.Star);

                    //grid.ColumnDefinitions[0].MinWidth = 50;
                    //grid.ColumnDefinitions[1].MinWidth = 50;


                    Grid firstChildGrid = new Grid();
                    firstChildGrid.SetValue(Grid.ColumnProperty, 0);
                    firstChildGrid.Margin = new Thickness(0, 0, 4, 0);
                    FirstChildGroup.Arrange(firstChildGrid);
                    grid.Children.Add(firstChildGrid);

                    Grid secondChildGrid = new Grid();
                    secondChildGrid.SetValue(Grid.ColumnProperty, 1);
                    //secondChildGrid.Margin = (Dock == Dock.Right) ? new Thickness(0, 0, 4, 0) : new Thickness();
                    SecondChildGroup.Arrange(secondChildGrid);
                    grid.Children.Add(secondChildGrid);

                    //AttachedPane.SetValue(Grid.ColumnProperty, (Dock == Dock.Right) ? 1 : 0);
                    //AttachedPane.Margin = (Dock == Dock.Left) ? new Thickness(0, 0, 4, 0) : new Thickness();
                    //grid.Children.Add(AttachedPane);

                    GridSplitter splitter = new GridSplitter();
                    splitter.Width = 4;
                    splitter.HorizontalAlignment = HorizontalAlignment.Right;
                    splitter.VerticalAlignment   = VerticalAlignment.Stretch;
                    grid.Children.Add(splitter);
                }
                else // if (Dock == Dock.Top || Dock == Dock.Bottom)
                {
                    grid.ColumnDefinitions.Add(new ColumnDefinition());
                    grid.RowDefinitions.Add(new RowDefinition());
                    grid.RowDefinitions.Add(new RowDefinition());
                    //grid.RowDefinitions[0].Height = (Dock == Dock.Top) ? new GridLength(AttachedPane.PaneHeight) : new GridLength(1, GridUnitType.Star);
                    //grid.RowDefinitions[1].Height = (Dock == Dock.Bottom) ? new GridLength(AttachedPane.PaneHeight) : new GridLength(1, GridUnitType.Star);
                    grid.RowDefinitions[0].Height = (Dock == Dock.Top) ? FirstChildGroup.GroupHeight : new GridLength(1, GridUnitType.Star);
                    grid.RowDefinitions[1].Height = (Dock == Dock.Bottom) ? SecondChildGroup.GroupHeight : new GridLength(1, GridUnitType.Star);

                    grid.RowDefinitions[0].MinHeight = 50;
                    grid.RowDefinitions[1].MinHeight = 50;

                    Grid firstChildGrid = new Grid();
                    //firstChildGrid.SetValue(Grid.RowProperty, (Dock == Dock.Bottom) ? 1 : 0);
                    firstChildGrid.SetValue(Grid.RowProperty, 0);
                    //firstChildGrid.Margin = (Dock == Dock.Bottom) ? new Thickness(0, 0, 0, 4) : new Thickness();
                    firstChildGrid.Margin = new Thickness(0, 0, 0, 4);
                    FirstChildGroup.Arrange(firstChildGrid);
                    grid.Children.Add(firstChildGrid);

                    Grid secondChildGrid = new Grid();
                    //secondChildGrid.SetValue(Grid.RowProperty, (Dock == Dock.Top) ? 1 : 0);
                    secondChildGrid.SetValue(Grid.RowProperty, 1);
                    //secondChildGrid.Margin = (Dock == Dock.Bottom) ? new Thickness(0, 0, 0, 4) : new Thickness();
                    SecondChildGroup.Arrange(secondChildGrid);
                    grid.Children.Add(secondChildGrid);

                    //AttachedPane.SetValue(Grid.RowProperty, (Dock == Dock.Bottom) ? 1 : 0);
                    //AttachedPane.Margin = (Dock == Dock.Top) ? new Thickness(0, 0, 0, 4) : new Thickness();
                    //grid.Children.Add(AttachedPane);

                    GridSplitter splitter = new GridSplitter();
                    splitter.Height = 4;
                    splitter.HorizontalAlignment = HorizontalAlignment.Stretch;
                    splitter.VerticalAlignment   = VerticalAlignment.Bottom;
                    grid.Children.Add(splitter);
                }
            }
        }
Ejemplo n.º 27
0
        internal static GridSplitter CreateGridSplitterThroughCode(int? row, int? column, int? rowSpan, int? columnSpan, double? height, double? width, VerticalAlignment? vAlign, HorizontalAlignment? hAlign, Brush background, bool? showsPreview)
        {
            GridSplitter splitter = new GridSplitter();
            if (row != null)
            {
                splitter.SetValue(Grid.RowProperty, (int)row);
            }
            if (column != null)
            {
                splitter.SetValue(Grid.ColumnProperty, (int)column);
            }
            if (rowSpan != null)
            {
                splitter.SetValue(Grid.RowSpanProperty, (int)rowSpan);
            }
            if (columnSpan != null)
            {
                splitter.SetValue(Grid.ColumnSpanProperty, (int)columnSpan);
            }
            if (height != null)
            {
                splitter.Height = (double)height;
            }
            if (width != null)
            {
                splitter.Width = (double)width;
            }
            if (background != null)
            {
                splitter.Background = background;
            }
            if (showsPreview != null)
            {
                splitter.ShowsPreview = (bool)showsPreview;
            }
            if (hAlign != null)
            {
                splitter.HorizontalAlignment = (HorizontalAlignment)hAlign;
            }
            if (vAlign != null)
            {
                splitter.VerticalAlignment = (VerticalAlignment)vAlign;
            }

            return splitter;
        }
Ejemplo n.º 28
0
        public void BuildContent(List <GnosisContainer> containers, double splitPercentage,
                                 GnosisSplitController.DirectionType splitDirection)
        {
            contentGrid.Children.Clear();
            contentGrid.ColumnDefinitions.Clear();
            contentGrid.RowDefinitions.Clear();

            if (containers.Count == 1)
            {
                contentGrid.Children.Add((GnosisContainer)containers[0]);
            }
            else if (containers.Count == 2)
            {
                //Convert percentage width to * values
                double length1 = splitPercentage / 10;
                double length2 = 10 - length1;

                if (splitDirection == GnosisSplitController.DirectionType.VERTICAL)
                {
                    //build columns
                    //first column
                    ColumnDefinition colDef0 = new ColumnDefinition();
                    colDef0.Width = new GridLength(length1, GridUnitType.Star);
                    contentGrid.ColumnDefinitions.Add(colDef0);

                    //second column containing gridSplitter
                    ColumnDefinition colDef1 = new ColumnDefinition();
                    colDef1.Width = GridLength.Auto;
                    contentGrid.ColumnDefinitions.Add(colDef1);

                    //third column
                    ColumnDefinition colDef2 = new ColumnDefinition();
                    colDef2.Width = new GridLength(length2, GridUnitType.Star);
                    contentGrid.ColumnDefinitions.Add(colDef2);

                    //add containers
                    splitter = new VerticalGridSplitter(this);
                    Grid.SetColumn(splitter, 1);
                    contentGrid.Children.Add(splitter);


                    if (containers[0].Order == 1)
                    {
                        Grid.SetColumn((GnosisContainer)containers[0], 0);
                        Grid.SetColumn((GnosisContainer)containers[1], 2);
                    }
                    else
                    {
                        Grid.SetColumn((GnosisContainer)containers[1], 0);
                        Grid.SetColumn((GnosisContainer)containers[0], 2);
                    }
                }
                else
                {
                    //build rows
                    //first row
                    RowDefinition rowDef0 = new RowDefinition();
                    rowDef0.Height = new GridLength(length1, GridUnitType.Star);
                    contentGrid.RowDefinitions.Add(rowDef0);

                    //second row containing gridSplitter
                    RowDefinition rowDef1 = new RowDefinition();
                    rowDef1.Height = GridLength.Auto;
                    contentGrid.RowDefinitions.Add(rowDef1);

                    //third row
                    RowDefinition rowDef2 = new RowDefinition();
                    rowDef2.Height = new GridLength(length2, GridUnitType.Star);
                    contentGrid.RowDefinitions.Add(rowDef2);

                    splitter = new HorizontalGridSplitter(this);
                    Grid.SetRow(splitter, 1);
                    contentGrid.Children.Add(splitter);

                    //add containers
                    if (containers[0].Order == 1)
                    {
                        Grid.SetRow((GnosisContainer)containers[0], 0);
                        Grid.SetRow((GnosisContainer)containers[1], 2);
                    }
                    else
                    {
                        Grid.SetRow((GnosisContainer)containers[1], 0);
                        Grid.SetRow((GnosisContainer)containers[0], 2);
                    }
                }

                //add children to parent
                contentGrid.Children.Add((GnosisContainer)containers[0]);
                contentGrid.Children.Add((GnosisContainer)containers[1]);
            }
        }
        /// <summary>
        /// Bind the the dimensions of the preview control to the associated
        /// grid splitter.
        /// </summary>
        /// <param name="gridSplitter">GridSplitter instance to target.</param>
        public void Bind(GridSplitter gridSplitter)
        {
            Debug.Assert(gridSplitter != null, "gridSplitter should not be null!");
            Debug.Assert(gridSplitter.Parent != null, "gridSplitter.Parent should not be null!");

            this.Style = gridSplitter.PreviewStyle;
            this.Height = gridSplitter.ActualHeight;
            this.Width = gridSplitter.ActualWidth;

            if (gridSplitter.ResizeDataInternal != null)
            {
                _currentGridResizeDirection = gridSplitter.ResizeDataInternal.ResizeDirection;
            }

            GeneralTransform gt = gridSplitter.TransformToVisual((UIElement)gridSplitter.Parent);
            Point p = new Point(0, 0);
            p = gt.Transform(p);

            _gridSplitterOrigin.X = p.X;
            _gridSplitterOrigin.Y = p.Y;

            SetValue(Canvas.LeftProperty, _gridSplitterOrigin.X);
            SetValue(Canvas.TopProperty, _gridSplitterOrigin.Y);
        }
Ejemplo n.º 30
0
 public void ShowsPreviewGetThroughCode()
 {
     GridSplitter splitter = new GridSplitter();
     splitter.SetValue(GridSplitter.ShowsPreviewProperty, false);
     Assert.AreEqual(false, splitter.ShowsPreview, "Getting ShowsPreview property should pull from the backing dependency property.");
 }
Ejemplo n.º 31
0
        private void CreateRightMarginControls()
        {
            var width = _settings.PreviewWidth;

            var grid = new Grid();

            grid.ColumnDefinitions.Add(new ColumnDefinition {
                Width = new GridLength(0, GridUnitType.Star)
            });
            grid.ColumnDefinitions.Add(new ColumnDefinition {
                Width = new GridLength(5, GridUnitType.Pixel)
            });
            grid.ColumnDefinitions.Add(new ColumnDefinition {
                Width = new GridLength(width, GridUnitType.Pixel), MinWidth = 150
            });
            grid.RowDefinitions.Add(new RowDefinition());
            Child = grid;

            grid.Children.Add(Browser.Control);
            Grid.SetColumn(Browser.Control, 2);
            Grid.SetRow(Browser.Control, 0);

            var splitter = new GridSplitter {
                Width               = 5,
                ResizeDirection     = GridResizeDirection.Columns,
                VerticalAlignment   = VerticalAlignment.Stretch,
                HorizontalAlignment = HorizontalAlignment.Stretch
            };

            splitter.DragCompleted += RightDragCompleted;

            grid.Children.Add(splitter);
            Grid.SetColumn(splitter, 1);
            Grid.SetRow(splitter, 0);

            var fixWidth = new Action(() => {
                // previewWindow maxWidth = current total width - textView minWidth
                var newWidth = (_textView.ViewportWidth + grid.ActualWidth) - 150;

                // preveiwWindow maxWidth < previewWindow minWidth
                if (newWidth < 150)
                {
                    // Call 'get before 'set for performance
                    if (grid.ColumnDefinitions[2].MinWidth > 0)
                    {
                        grid.ColumnDefinitions[2].MinWidth = 0;
                        grid.ColumnDefinitions[2].MaxWidth = 0;
                    }
                }
                else
                {
                    grid.ColumnDefinitions[2].MaxWidth = newWidth;
                    // Call 'get before 'set for performance
                    if (grid.ColumnDefinitions[2].MinWidth > 0)
                    {
                        grid.ColumnDefinitions[2].MinWidth = 150;
                    }
                }
            });

            // Listen sizeChanged event of both marginGrid and textView
            grid.SizeChanged += (e, s) => fixWidth();
            _textView.ViewportWidthChanged += (e, s) => fixWidth();
        }
Ejemplo n.º 32
0
 public void PreviewStyleGetThroughCode()
 {
     GridSplitter splitter = new GridSplitter();
     Style s = new Style(typeof(PreviewControl));
     splitter.SetValue(GridSplitter.PreviewStyleProperty, s);
     Assert.AreEqual(s, splitter.PreviewStyle, "Getting PreviewStyle property should pull from the backing dependency property.");
 }
Ejemplo n.º 33
0
        public ScrollCustomColors()
        {
            // Титульник, ширина, высота
            Title  = "Color Scroll";
            Width  = 500;
            Height = 300;

            // Панель gridMain содержит вертикальную вешку разбивки
            Grid gridMain = new Grid();

            Content = gridMain;

            // Определения столбцов gridMain
            ColumnDefinition coldef = new ColumnDefinition();

            coldef.Width = new GridLength(200, GridUnitType.Pixel); // Задание ширины
            gridMain.ColumnDefinitions.Add(coldef);                 // Добавление к коллекции таких обеъектов. Далее аналогично

            coldef       = new ColumnDefinition();
            coldef.Width = GridLength.Auto;
            gridMain.ColumnDefinitions.Add(coldef);

            coldef       = new ColumnDefinition();
            coldef.Width = new GridLength(100, GridUnitType.Star);
            gridMain.ColumnDefinitions.Add(coldef);

            // Вертикальная вешка разбивки
            GridSplitter split = new GridSplitter();

            split.HorizontalAlignment = HorizontalAlignment.Center;
            split.VerticalAlignment   = VerticalAlignment.Stretch;
            split.Width = 6;
            gridMain.Children.Add(split);
            Grid.SetRow(split, 0);
            Grid.SetColumn(split, 1);

            // Отображение цвета фона от вешки справа
            pnlColor            = new StackPanel();
            pnlColor.Background = new SolidColorBrush(SystemColors.WindowColor); // "Сплошная" кисть
            gridMain.Children.Add(pnlColor);                                     // Добавление в колекцию дочерних элементов
            Grid.SetRow(pnlColor, 0);                                            // Отображение
            Grid.SetColumn(pnlColor, 2);

            // Вторичная панель Grid слева от вешки
            Grid grid = new Grid();      // 6 надписей и 3 полосы прокрутки

            gridMain.Children.Add(grid); // Добавление в колекцию дочерних элементов
            Grid.SetRow(grid, 0);        // Отображение
            Grid.SetColumn(grid, 0);

            // Три строки: надпись, полоса прокрутки и надпись. Аналогичный код уже был прокомментирован
            RowDefinition rowdef = new RowDefinition();

            rowdef.Height = GridLength.Auto;
            grid.RowDefinitions.Add(rowdef);

            rowdef        = new RowDefinition();
            rowdef.Height = new GridLength(100, GridUnitType.Star);
            grid.RowDefinitions.Add(rowdef);

            rowdef        = new RowDefinition();
            rowdef.Height = GridLength.Auto;
            grid.RowDefinitions.Add(rowdef);

            // 3 столбца для красной, зеленой и синей составляющих
            for (int i = 0; i < 3; ++i)
            {
                // Хотим, чтобы каждая полоса прокрутки занимала треть grid
                coldef       = new ColumnDefinition();
                coldef.Width = new GridLength(33, GridUnitType.Star);
                grid.ColumnDefinitions.Add(coldef);
            }

            for (int i = 0; i < 3; ++i)
            {
                // Размещение надписей для полос прокуртки
                Label lbl = new Label();
                lbl.Content = new string[] { "Red", "Green", "Blue" }[i];
                lbl.HorizontalContentAlignment = HorizontalAlignment.Center;
                grid.Children.Add(lbl);

                Grid.SetRow(lbl, 0);
                Grid.SetColumn(lbl, i);

                scrolls[i]               = new ScrollBar();
                scrolls[i].Focusable     = true;                 // Определение возможности получение фокуса элементом
                scrolls[i].Orientation   = Orientation.Vertical; // Вертикальная ориентация.
                scrolls[i].Minimum       = 0;                    // Минимальное значение
                scrolls[i].Maximum       = 255;                  // Максимальное значение
                scrolls[i].SmallChange   = 1;                    // Изменение величины при нажатии на стрелочку прокрутки
                scrolls[i].LargeChange   = 1;                    // Изменение величины при нажатии на саму полосу прокрутки
                scrolls[i].ValueChanged += ScrollOnValueChanged; // Выполняется при измении значений в диапазоне
                grid.Children.Add(scrolls[i]);
                Grid.SetRow(scrolls[i], 1);
                Grid.SetColumn(scrolls[i], i);

                txtValue[i] = new TextBlock(); // Размещение текста. Не допускаем наложения друг на друга
                txtValue[i].TextAlignment       = TextAlignment.Center;
                txtValue[i].HorizontalAlignment = HorizontalAlignment.Center;
                txtValue[i].Margin = new Thickness(5);
                grid.Children.Add(txtValue[i]);
                Grid.SetRow(txtValue[i], 2);
                Grid.SetColumn(txtValue[i], i);
            }

            // Необходимо для отображения значений цвета, иначе отобразиться только при прокрутке
            Color clr = (pnlColor.Background as SolidColorBrush).Color;

            scrolls[0].Value = clr.R;
            scrolls[1].Value = clr.G;
            scrolls[2].Value = clr.B;

            //Передаём фокус
            scrolls[0].Focus();
        }
Ejemplo n.º 34
0
 /// <summary>
 /// Initializes a new instance of the InternalTestHook class.
 /// </summary>
 /// <param name="gridSplitter">The grid splitter to hook.</param>
 internal InternalTestHook(GridSplitter gridSplitter)
 {
     _gridSplitter = gridSplitter;
 }
Ejemplo n.º 35
0
        public void Horizontal_Stays_Within_Constraints()
        {
            var control1 = new Border { [Grid.RowProperty] = 0 };
            var splitter = new GridSplitter
                           {
                               [Grid.RowProperty] = 1,
                           };
            var control2 = new Border { [Grid.RowProperty] = 2 };

            var rowDefinitions = new RowDefinitions()
                                 {
                                     new RowDefinition(1, GridUnitType.Star) { MinHeight = 70, MaxHeight = 110 },
                                     new RowDefinition(GridLength.Auto),
                                     new RowDefinition(1, GridUnitType.Star) { MinHeight = 10, MaxHeight = 140 },
                                 };

            var grid = new Grid()
                       {
                           RowDefinitions = rowDefinitions,
                           Children = new Controls()
                                      {
                                          control1, splitter, control2
                                      }
                       };

            var root = new TestRoot { Child = grid };
            root.Measure(new Size(100, 200));
            root.Arrange(new Rect(0, 0, 100, 200));

            splitter.RaiseEvent(new VectorEventArgs
                                {
                                    RoutedEvent = Thumb.DragDeltaEvent,
                                    Vector = new Vector(0, -100)
                                });
            Assert.Equal(rowDefinitions[0].Height, new GridLength(70, GridUnitType.Star));
            Assert.Equal(rowDefinitions[2].Height, new GridLength(130, GridUnitType.Star));
            splitter.RaiseEvent(new VectorEventArgs
                                {
                                    RoutedEvent = Thumb.DragDeltaEvent,
                                    Vector = new Vector(0, 100)
                                });
            Assert.Equal(rowDefinitions[0].Height, new GridLength(110, GridUnitType.Star));
            Assert.Equal(rowDefinitions[2].Height, new GridLength(90, GridUnitType.Star));
        }
Ejemplo n.º 36
0
 /// <summary>
 /// AutomationPeer for GridSplitter
 /// </summary>
 /// <param name="owner">GridSplitter</param>
 public GridSplitterAutomationPeer(GridSplitter owner)
     : base(owner)
 {
 }
Ejemplo n.º 37
0
        public void BackgroundSetThroughXaml()
        {
            GridSplitter splitter = XamlReader.Load(string.Format(CultureInfo.InvariantCulture, Resource.GridSplitter_CustomXaml, "Background=\"Orange\"", "")) as GridSplitter;

            Assert.AreEqual(Colors.Orange, ((SolidColorBrush)splitter.Background).Color, "Setting Background property through Xaml should persist.");
        }
Ejemplo n.º 38
0
        private static void AttachMode_Horizontal(this Expander expander, GridSnapMode mode)
        {
            if (expander == null)
            {
                return;
            }

            expander.Expanded  -= Expanded_Horizontal;
            expander.Collapsed -= Collapsed_Horizontal;

            Grid targetGrid = expander.FindAncestor <Grid>();

            if (targetGrid == null)
            {
                return;
            }

            if (mode == GridSnapMode.None)
            {
                return;
            }

            int gridColumn = Grid.GetColumn(expander);
            ColumnDefinition columnDefinition = targetGrid.ColumnDefinitions[gridColumn];

            SetTargetColumnDefinition(expander, columnDefinition);

            // 初回にExpanderを開く際、開かれたGridのActualWidthをとれずに検索テキストボックスの幅が微小になってしまう
            // そのため、exeを立ち上げて最初にExpanderを開く際のみMainWindowの比で強引に値を入れてやる
            // Expanderを開く前はExpander側の幅を調節できないため、数値がおかしくなる心配はないと想定される
            if (_isFirst)
            {
                SetFirstGridLength(expander);
            }
            else
            {
                SetLastGridLength(expander, columnDefinition.Width);
            }

            GridSplitter gridSplitter = null;

            if (mode == GridSnapMode.Auto)
            {
                gridSplitter = targetGrid.FindDescendant <GridSplitter>();
            }
            else
            {
                gridSplitter = GetTargetGridSplitter(expander);
            }

            if (mode == GridSnapMode.Explicit && gridSplitter == null)
            {
                throw new ArgumentException("[Explicit] requires [TargetGridSplitter]");
            }

            gridSplitter.SetBinding(UIElement.VisibilityProperty, new Binding(nameof(Expander.IsExpanded))
            {
                Mode      = BindingMode.OneWay,
                Converter = BoolToVisibleConverter,
                Source    = expander,
            });

            expander.Expanded  += Expanded_Horizontal;
            expander.Collapsed += Collapsed_Horizontal;
        }
Ejemplo n.º 39
0
        public void IsEnabledSetThroughXaml()
        {
            GridSplitter splitter = XamlReader.Load(string.Format(CultureInfo.InvariantCulture, Resource.GridSplitter_CustomXaml, "IsEnabled=\"False\"", "")) as GridSplitter;

            Assert.AreEqual(false, splitter.IsEnabled, "Setting IsEnabled property through Xaml should persist.");
        }
Ejemplo n.º 40
0
        public void VariableNumbersOfColumnsAndRows()
        {
            // Check the cases where a vertical GridSplitter is used in a Grid with 0,1, and n columns
            // and when a horizontal GridSplitter is used in a Grid with 0,1, and n rows.
            bool         result;
            Grid         g        = CreateGrid(2, 0, 100.0, 100.0);
            GridSplitter splitter = CreateGridSplitterThroughCode(1, 0, null, null, null, null, VerticalAlignment.Top, HorizontalAlignment.Stretch, null, true);

            g.Children.Add(splitter);
            this.CreateAsyncTest(g,
                                 delegate
            {
                result = GridSplitter.DoubleUtil.AreClose(g.RowDefinitions[0].ActualHeight, 50.0);
                Assert.IsTrue(result, "ActualHeight should be same as the desired height.");
            },
                                 () => splitter.DragValidator_DragStartedEvent(splitter, new DragStartedEventArgs(0.0, 0.0)),
                                 () => splitter.DragValidator_DragDeltaEvent(splitter, new DragDeltaEventArgs(0.0, 10.0)),
                                 () => splitter.DragValidator_DragCompletedEvent(splitter, new DragCompletedEventArgs(0.0, 0.0, false)),
                                 delegate
            {
                result = GridSplitter.DoubleUtil.AreClose(g.RowDefinitions[0].ActualHeight, 60.0);
                Assert.IsTrue(result, "ActualHeight should be same as the desired height.");
            },
                                 () => g.ColumnDefinitions.Add(new ColumnDefinition()),
                                 () => splitter.DragValidator_DragStartedEvent(splitter, new DragStartedEventArgs(0.0, 0.0)),
                                 () => splitter.DragValidator_DragDeltaEvent(splitter, new DragDeltaEventArgs(0.0, -15.0)),
                                 () => splitter.DragValidator_DragCompletedEvent(splitter, new DragCompletedEventArgs(0.0, 0.0, false)),
                                 delegate
            {
                result = GridSplitter.DoubleUtil.AreClose(g.RowDefinitions[0].ActualHeight, 45.0);
                Assert.IsTrue(result, "ActualHeight should be same as the desired height.");
            },
                                 () => g.ColumnDefinitions.Add(new ColumnDefinition()),
                                 () => splitter.DragValidator_DragStartedEvent(splitter, new DragStartedEventArgs(0.0, 0.0)),
                                 () => splitter.DragValidator_DragDeltaEvent(splitter, new DragDeltaEventArgs(0.0, 25.0)),
                                 () => splitter.DragValidator_DragCompletedEvent(splitter, new DragCompletedEventArgs(0.0, 0.0, false)),
                                 delegate
            {
                result = GridSplitter.DoubleUtil.AreClose(g.RowDefinitions[0].ActualHeight, 70.0);
                Assert.IsTrue(result, "ActualHeight should be same as the desired height.");
            },
                                 () => g.RowDefinitions.Clear(),
                                 () => splitter.VerticalAlignment   = VerticalAlignment.Stretch,
                                 () => splitter.HorizontalAlignment = HorizontalAlignment.Left,
                                 () => splitter.SetValue(Grid.RowProperty, 0),
                                 () => splitter.SetValue(Grid.ColumnProperty, 1),
                                 delegate
            {
                result = GridSplitter.DoubleUtil.AreClose(g.ColumnDefinitions[0].ActualWidth, 50.0);
                Assert.IsTrue(result, "ActualWidth should be same as the desired width.");
            },
                                 () => splitter.DragValidator_DragStartedEvent(splitter, new DragStartedEventArgs(0.0, 0.0)),
                                 () => splitter.DragValidator_DragDeltaEvent(splitter, new DragDeltaEventArgs(10.0, 0.0)),
                                 () => splitter.DragValidator_DragCompletedEvent(splitter, new DragCompletedEventArgs(0.0, 0.0, false)),
                                 delegate
            {
                result = GridSplitter.DoubleUtil.AreClose(g.ColumnDefinitions[0].ActualWidth, 60.0);
                Assert.IsTrue(result, "ActualWidth should be same as the desired width.");
            },
                                 () => g.RowDefinitions.Add(new RowDefinition()),
                                 () => splitter.DragValidator_DragStartedEvent(splitter, new DragStartedEventArgs(0.0, 0.0)),
                                 () => splitter.DragValidator_DragDeltaEvent(splitter, new DragDeltaEventArgs(-15.0, 0.0)),
                                 () => splitter.DragValidator_DragCompletedEvent(splitter, new DragCompletedEventArgs(0.0, 0.0, false)),
                                 delegate
            {
                result = GridSplitter.DoubleUtil.AreClose(g.ColumnDefinitions[0].ActualWidth, 45.0);
                Assert.IsTrue(result, "ActualWidth should be same as the desired width.");
            },
                                 () => g.RowDefinitions.Add(new RowDefinition()),
                                 () => splitter.DragValidator_DragStartedEvent(splitter, new DragStartedEventArgs(0.0, 0.0)),
                                 () => splitter.DragValidator_DragDeltaEvent(splitter, new DragDeltaEventArgs(25.0, 0.0)),
                                 () => splitter.DragValidator_DragCompletedEvent(splitter, new DragCompletedEventArgs(0.0, 0.0, false)),
                                 delegate
            {
                result = GridSplitter.DoubleUtil.AreClose(g.ColumnDefinitions[0].ActualWidth, 70.0);
                Assert.IsTrue(result, "ActualWidth should be same as the desired width.");
            });
        }
Ejemplo n.º 41
0
        public void DefaultValueForHorizontalAlignment()
        {
            GridSplitter splitter = XamlReader.Load(Resource.GridSplitter_DefaultXaml) as GridSplitter;

            Assert.AreEqual(HorizontalAlignment.Right, splitter.HorizontalAlignment, "HorizontalAlignment should be 'Right' by default.");
        }
Ejemplo n.º 42
0
        public void ShowsPreviewSetThroughXaml()
        {
            GridSplitter splitter = XamlReader.Load(string.Format(CultureInfo.InvariantCulture, Resource.GridSplitter_CustomXaml, "ShowsPreview=\"False\"", "")) as GridSplitter;

            Assert.AreEqual(false, splitter.ShowsPreview, "Setting ShowsPreview property through Xaml should persist.");
        }
Ejemplo n.º 43
0
        public void InstantiateGridSplitterCode()
        {
            GridSplitter splitter = new GridSplitter();

            Assert.IsNotNull(splitter, "GridSplitter construction should succeed.");
        }
Ejemplo n.º 44
0
        private void InitializeComponent()
        {
            Grid grid = this;

            grid.RowDefinitions.Add(new RowDefinition());
            grid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(5)
            });
            grid.RowDefinitions.Add(new RowDefinition());
            grid.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(25)
            });

            TextBox = new RichTextBox
            {
                FontFamily = new FontFamily("Consolas"),
                FontSize   = 12,
                HorizontalScrollBarVisibility = ScrollBarVisibility.Auto,
                VerticalScrollBarVisibility   = ScrollBarVisibility.Auto
            };
            TextBox.Foreground = Themes.SqlEditor.Foreground;
            TextBox.Background = Themes.SqlEditor.Background;

            //Paragraph space
            Style style = new Style {
                TargetType = typeof(Paragraph)
            };

            style.Setters.Add(new Setter {
                Property = Block.MarginProperty, Value = new Thickness(0)
            });
            TextBox.Resources.Add(typeof(Paragraph), style);

            GridSplitter hSplitter = new GridSplitter {
                Height = 5, HorizontalAlignment = HorizontalAlignment.Stretch
            };

            TabControl            = new TabControl();
            TabControl.Foreground = Themes.SqlEditor.Foreground;
            TabControl.Background = Themes.SqlEditor.Background;

            lblRowCount = new TextBlock {
                Width = 200, HorizontalAlignment = HorizontalAlignment.Right
            };
            StatusBar statusBar = new StatusBar {
                Height = 20
            };

            statusBar.Items.Add(new StatusBarItem {
                Content = lblRowCount, HorizontalAlignment = HorizontalAlignment.Right
            });

            TextBox.SetValue(Grid.RowProperty, 0);
            hSplitter.SetValue(Grid.RowProperty, 1);
            TabControl.SetValue(Grid.RowProperty, 2);
            statusBar.SetValue(Grid.RowProperty, 3);

            grid.Children.Add(TextBox);
            grid.Children.Add(hSplitter);
            grid.Children.Add(TabControl);
            grid.Children.Add(statusBar);
        }
        public static async Task <CustomWebAuthenticationResult> AuthenticateAsync(
            WebAuthenticationOptions options,
            Uri requestUri,
            Uri callbackUri,
            bool showUrl)
        {
            if (options != WebAuthenticationOptions.None)
            {
                throw new ArgumentException("WebAuthenticationBroker currently only supports WebAuthenticationOptions.None", "options");
            }

            redirectUri = callbackUri;
            dialog      = new ContentDialog();

            var grid = new Grid
            {
                VerticalAlignment = VerticalAlignment.Center
            };

            grid.RowDefinitions.Add(new RowDefinition()
            {
                Height = GridLength.Auto
            });
            grid.RowDefinitions.Add(new RowDefinition()
            {
                Height = new GridLength(0.1, GridUnitType.Star)
            });
            grid.RowDefinitions.Add(new RowDefinition()
            {
                Height = GridLength.Auto
            });
            grid.RowDefinitions.Add(new RowDefinition()
            {
                Height = new GridLength(1, GridUnitType.Star)
            });

            var label = new TextBlock
            {
                Text = "Connect to a service",
                HorizontalAlignment = HorizontalAlignment.Left,
                VerticalAlignment   = VerticalAlignment.Center,
                Margin = new Thickness(0)
            };

            grid.Children.Add(label);

            var closeButton = new Button
            {
                Content             = "",
                FontFamily          = new FontFamily("Segoe UI Symbol"),
                BorderBrush         = new SolidColorBrush(Color.FromArgb(0, 0, 0, 0)),
                Background          = new SolidColorBrush(Color.FromArgb(0, 0, 0, 0)),
                Margin              = new Thickness(0),
                HorizontalAlignment = HorizontalAlignment.Right,
                VerticalAlignment   = VerticalAlignment.Center
            };

            closeButton.Click += (s, e) => { dialog.Hide(); };
            grid.Children.Add(closeButton);

            _address = new TextBox
            {
                Text         = string.Empty,
                Margin       = new Thickness(0, 5, 0, 5),
                IsReadOnly   = true,
                TextWrapping = TextWrapping.Wrap,
                FontSize     = 12,
            };
            _address.SetValue(Grid.RowProperty, 1);

            if (showUrl)
            {
                grid.Children.Add(_address);

                var splitter = new GridSplitter();
                splitter.SetValue(Grid.RowProperty, 2);
                splitter.Element = new TextBlock
                {
                    HorizontalAlignment = HorizontalAlignment.Center,
                    IsHitTestVisible    = false,
                    VerticalAlignment   = VerticalAlignment.Center,
                    Text       = "\uE76F",
                    Foreground = new SolidColorBrush(Colors.White),
                    FontFamily = new FontFamily("Segoe MDL2 Assets")
                };
                grid.Children.Add(splitter);
            }

            var webView = new WebView(WebViewExecutionMode.SameThread)
            {
                Source = requestUri
            };

            webView.NavigationStarting += WebView_NavigationStarting;
            webView.NavigationFailed   += WebView_NavigationFailed;
            webView.ContentLoading     += (sender, args) =>
            {
                _address.Text = args.Uri.ToString();
            };

            webView.MinWidth  = 460;
            webView.MinHeight = 600;

            var scrollViewer = new ScrollViewer
            {
                HorizontalAlignment = HorizontalAlignment.Stretch,
                Content             = webView
            };

            scrollViewer.SetValue(Grid.RowProperty, 3);

            grid.Children.Add(scrollViewer);
            dialog.Content = grid;

            //dialog.GotFocus += (s, e) => { webView.Focus(Windows.UI.Xaml.FocusState.Programmatic); };
            var res = await dialog.ShowAsync();

            return(new CustomWebAuthenticationResult(code, errorCode, errorCode > 0 ? CustomWebAuthenticationStatus.ErrorHttp : string.IsNullOrEmpty(code) ? CustomWebAuthenticationStatus.UserCancel : CustomWebAuthenticationStatus.Success));
        }
Ejemplo n.º 46
0
 public void IsEnabledGetThroughCode()
 {
     GridSplitter splitter = new GridSplitter();
     splitter.SetValue(GridSplitter.IsEnabledProperty, false);
     Assert.AreEqual(false, splitter.IsEnabled, "Getting IsEnabled property should pull from the backing dependency property.");
 }
Ejemplo n.º 47
0
 public void IsEnabledSetThroughCode()
 {
     GridSplitter splitter = new GridSplitter();
     splitter.IsEnabled = false;
     Assert.AreEqual(false, splitter.GetValue(GridSplitter.IsEnabledProperty), "Setting IsEnabled property should set backing dependency property.");
 }
Ejemplo n.º 48
-1
        public void Vertical_Stays_Within_Constraints()
        {
            var cursorFactoryImpl = new Mock<IStandardCursorFactory>();
            PerspexLocator.CurrentMutable.Bind<IStandardCursorFactory>().ToConstant(cursorFactoryImpl.Object);

            var control1 = new Border { [Grid.ColumnProperty] = 0 };
            var splitter = new GridSplitter
            {
                Orientation = Orientation.Vertical,
                [Grid.ColumnProperty] = 1,
            };
            var control2 = new Border { [Grid.ColumnProperty] = 2 };

            var columnDefinitions = new ColumnDefinitions()
            {
                new ColumnDefinition(1, GridUnitType.Star) {MinWidth = 10, MaxWidth = 190},
                new ColumnDefinition(GridLength.Auto),
                new ColumnDefinition(1, GridUnitType.Star) {MinWidth = 80, MaxWidth =  120},
            };

            var grid = new Grid()
            {
                ColumnDefinitions = columnDefinitions,
                Children = new Controls()
                {
                    control1, splitter, control2
                }
            };

            var root = new TestRoot { Child = grid };
            Assert.Equal(splitter.Orientation, Orientation.Vertical);

            root.Measure(new Size(200, 100));
            root.Arrange(new Rect(0, 0, 200, 100));

            splitter.RaiseEvent(new VectorEventArgs
            {
                RoutedEvent = Thumb.DragDeltaEvent,
                Vector = new Vector(-100,0)
            });
            Assert.Equal(columnDefinitions[0].Width, new GridLength(80,GridUnitType.Star));
            Assert.Equal(columnDefinitions[2].Width, new GridLength(120,GridUnitType.Star));
            splitter.RaiseEvent(new VectorEventArgs
            {
                RoutedEvent = Thumb.DragDeltaEvent,
                Vector = new Vector(100, 0)
            });
            Assert.Equal(columnDefinitions[0].Width, new GridLength(120, GridUnitType.Star));
            Assert.Equal(columnDefinitions[2].Width, new GridLength(80, GridUnitType.Star));
        }
Ejemplo n.º 49
-1
        public void Vertical_Stays_Within_Constraints()
        {
            var control1 = new Border { [Grid.ColumnProperty] = 0 };
            var splitter = new GridSplitter
                           {
                               [Grid.ColumnProperty] = 1,
                           };
            var control2 = new Border { [Grid.ColumnProperty] = 2 };

            var columnDefinitions = new ColumnDefinitions()
                                    {
                                        new ColumnDefinition(1, GridUnitType.Star) { MinWidth = 10, MaxWidth = 190 },
                                        new ColumnDefinition(GridLength.Auto),
                                        new ColumnDefinition(1, GridUnitType.Star) { MinWidth = 80, MaxWidth = 120 },
                                    };

            var grid = new Grid()
                       {
                           ColumnDefinitions = columnDefinitions,
                           Children = new Controls()
                                      {
                                          control1, splitter, control2
                                      }
                       };

            var root = new TestRoot { Child = grid };

            root.Measure(new Size(200, 100));
            root.Arrange(new Rect(0, 0, 200, 100));

            splitter.RaiseEvent(new VectorEventArgs
                                {
                                    RoutedEvent = Thumb.DragDeltaEvent,
                                    Vector = new Vector(-100, 0)
                                });
            Assert.Equal(columnDefinitions[0].Width, new GridLength(80, GridUnitType.Star));
            Assert.Equal(columnDefinitions[2].Width, new GridLength(120, GridUnitType.Star));
            splitter.RaiseEvent(new VectorEventArgs
                                {
                                    RoutedEvent = Thumb.DragDeltaEvent,
                                    Vector = new Vector(100, 0)
                                });
            Assert.Equal(columnDefinitions[0].Width, new GridLength(120, GridUnitType.Star));
            Assert.Equal(columnDefinitions[2].Width, new GridLength(80, GridUnitType.Star));
        }