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."); }
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."); }
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)); }
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()); } } }
/// <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); }
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); // Задаём столбец для отображения элемента }
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; }
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); }
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); }
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); }
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++; } }
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> }
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); }
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); }
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); }
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)); }
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)); }
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); }
public void InstantiateGridSplitterCode() { GridSplitter splitter = new GridSplitter(); Assert.IsNotNull(splitter, "GridSplitter construction should succeed."); }
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."); }
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."); }
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); } }
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."); }); }
private void Button_Click_4(object sender, RoutedEventArgs e) { GridSplitter window = new GridSplitter(); window.Show(); }
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); } } }
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; }
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); }
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."); }
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(); }
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."); }
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(); }
/// <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; }
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)); }
/// <summary> /// AutomationPeer for GridSplitter /// </summary> /// <param name="owner">GridSplitter</param> public GridSplitterAutomationPeer(GridSplitter owner) : base(owner) { }
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."); }
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; }
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."); }
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."); }); }
public void DefaultValueForHorizontalAlignment() { GridSplitter splitter = XamlReader.Load(Resource.GridSplitter_DefaultXaml) as GridSplitter; Assert.AreEqual(HorizontalAlignment.Right, splitter.HorizontalAlignment, "HorizontalAlignment should be 'Right' by default."); }
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."); }
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)); }
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."); }
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."); }
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)); }
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)); }