private void Initialize() { _listBox = new ListBox(); var tempItem = new ListBoxItem { Content = "TEMP_ITEM_FOR_MEASUREMENT" }; _listBox.Items.Add(tempItem); _listBox.Focusable = false; _listBox.Style = (Style)Application.Current.Resources["AcTb_ListBoxStyle"]; _chrome = new SystemDropShadowChrome(); _chrome.Margin = new Thickness(0, 0, POPUP_SHADOW_DEPTH, POPUP_SHADOW_DEPTH); _chrome.Child = _listBox; _popup = new Popup(); _popup.SnapsToDevicePixels = true; _popup.AllowsTransparency = true; _popup.MinHeight = SystemParameters.HorizontalScrollBarHeight + POPUP_SHADOW_DEPTH; _popup.MinWidth = SystemParameters.VerticalScrollBarWidth + POPUP_SHADOW_DEPTH; _popup.VerticalOffset = SystemParameters.PrimaryScreenHeight + 100; _popup.Child = _chrome; _popup.IsOpen = true; _itemHeight = tempItem.ActualHeight; _listBox.Items.Clear(); // GetInnerElementReferences(); UpdateGripVisual(); SetupEventHandlers(); }
public void Drawing () { SystemDropShadowChrome s = new SystemDropShadowChrome (); Assert.AreEqual (s.Color, Color.FromArgb (0x71, 0, 0, 0), "Color"); Assert.AreEqual (s.CornerRadius.BottomLeft, 0, "CornerRadius 1"); Assert.AreEqual (s.CornerRadius.BottomRight, 0, "CornerRadius 2"); Assert.AreEqual (s.CornerRadius.TopLeft, 0, "CornerRadius 3"); Assert.AreEqual (s.CornerRadius.TopRight, 0, "CornerRadius 4"); s.Width = 100; s.Height = 100; Window w = new Window (); w.Content = s; w.Show (); DrawingGroup g = VisualTreeHelper.GetDrawing (s); Assert.AreEqual (g.Children.Count, 1, "1"); g = (DrawingGroup)g.Children [0]; Assert.AreEqual (g.Children.Count, 9, "2"); Assert.AreEqual (((RectangleGeometry)((GeometryDrawing)g.Children [0]).Geometry).Rect, new Rect (5, 5, 5, 5), "3"); Assert.AreEqual (((RadialGradientBrush)((GeometryDrawing)g.Children [0]).Brush).Center, new Point (1, 1), "3 brush center"); Assert.AreEqual (((RadialGradientBrush)((GeometryDrawing)g.Children [0]).Brush).GradientOrigin, new Point (1, 1), "3 gradient origin"); Assert.AreEqual (((RadialGradientBrush)((GeometryDrawing)g.Children [0]).Brush).RadiusX, 1, "3 radius x"); Assert.AreEqual (((RadialGradientBrush)((GeometryDrawing)g.Children [0]).Brush).RadiusY, 1, "3 radius y"); Assert.AreEqual (((RectangleGeometry)((GeometryDrawing)g.Children [1]).Geometry).Rect, new Rect (10, 5, 90, 5), "4"); Assert.AreEqual (((LinearGradientBrush)((GeometryDrawing)g.Children [1]).Brush).StartPoint, new Point (0, 1), "4 brush start point"); Assert.AreEqual (((LinearGradientBrush)((GeometryDrawing)g.Children [1]).Brush).EndPoint, new Point (0, 0), "4 brush end point"); Assert.AreEqual (((RectangleGeometry)((GeometryDrawing)g.Children [2]).Geometry).Rect, new Rect (100, 5, 5, 5), "5"); Assert.AreEqual (((RadialGradientBrush)((GeometryDrawing)g.Children [2]).Brush).Center, new Point (0, 1), "5 brush center"); Assert.AreEqual (((RadialGradientBrush)((GeometryDrawing)g.Children [2]).Brush).GradientOrigin, new Point (0, 1), "5 gradient origin"); Assert.AreEqual (((RadialGradientBrush)((GeometryDrawing)g.Children [2]).Brush).RadiusX, 1, "5 radius x"); Assert.AreEqual (((RadialGradientBrush)((GeometryDrawing)g.Children [2]).Brush).RadiusY, 1, "5 radius y"); Assert.AreEqual (((RectangleGeometry)((GeometryDrawing)g.Children [3]).Geometry).Rect, new Rect (5, 10, 5, 90), "6"); Assert.AreEqual (((LinearGradientBrush)((GeometryDrawing)g.Children [3]).Brush).StartPoint, new Point (1, 0), "6 brush start point"); Assert.AreEqual (((LinearGradientBrush)((GeometryDrawing)g.Children [3]).Brush).EndPoint, new Point (0, 0), "6 brush end point"); Assert.AreEqual (((RectangleGeometry)((GeometryDrawing)g.Children [4]).Geometry).Rect, new Rect (100, 10, 5, 90), "7"); Assert.AreEqual (((LinearGradientBrush)((GeometryDrawing)g.Children [4]).Brush).StartPoint, new Point (0, 0), "7 brush start point"); Assert.AreEqual (((LinearGradientBrush)((GeometryDrawing)g.Children [4]).Brush).EndPoint, new Point (1, 0), "7 brush end point"); Assert.AreEqual (((RectangleGeometry)((GeometryDrawing)g.Children [5]).Geometry).Rect, new Rect (5, 100, 5, 5), "8"); Assert.AreEqual (((RadialGradientBrush)((GeometryDrawing)g.Children [5]).Brush).Center, new Point (1, 0), "8 brush center"); Assert.AreEqual (((RadialGradientBrush)((GeometryDrawing)g.Children [5]).Brush).GradientOrigin, new Point (1, 0), "8 gradient origin"); Assert.AreEqual (((RadialGradientBrush)((GeometryDrawing)g.Children [5]).Brush).RadiusX, 1, "8 radius x"); Assert.AreEqual (((RadialGradientBrush)((GeometryDrawing)g.Children [5]).Brush).RadiusY, 1, "8 radius y"); Assert.AreEqual (((RectangleGeometry)((GeometryDrawing)g.Children [6]).Geometry).Rect, new Rect (10, 100, 90, 5), "9"); Assert.AreEqual (((LinearGradientBrush)((GeometryDrawing)g.Children [6]).Brush).StartPoint, new Point (0, 0), "9 brush start point"); Assert.AreEqual (((LinearGradientBrush)((GeometryDrawing)g.Children [6]).Brush).EndPoint, new Point (0, 1), "9 brush end point"); Assert.AreEqual (((RectangleGeometry)((GeometryDrawing)g.Children [7]).Geometry).Rect, new Rect (100, 100, 5, 5), "10"); Assert.AreEqual (((RadialGradientBrush)((GeometryDrawing)g.Children [7]).Brush).Center, new Point (0, 0), "10 brush center"); Assert.AreEqual (((RadialGradientBrush)((GeometryDrawing)g.Children [7]).Brush).GradientOrigin, new Point (0, 0), "10 gradient origin"); Assert.AreEqual (((RadialGradientBrush)((GeometryDrawing)g.Children [7]).Brush).RadiusX, 1, "10 radius x"); Assert.AreEqual (((RadialGradientBrush)((GeometryDrawing)g.Children [7]).Brush).RadiusY, 1, "10 radius y"); Assert.AreEqual (((RectangleGeometry)((GeometryDrawing)g.Children [8]).Geometry).Rect, new Rect (10, 10, 90, 90), "11"); Assert.AreEqual (((SolidColorBrush)((GeometryDrawing)g.Children [8]).Brush).Color, s.Color, "10 color"); }
private void WindowBaseInitialized(object sender, System.EventArgs e) { SetResourceReference(Window.StyleProperty, "Window"); ResourceDictionary resource = new ResourceDictionary(); ////resource.Source = new Uri("pack://application:,,,/WindowResource.xaml"); // this.Resources.MergedDictionaries.Add(resource); SystemDropShadowChrome dropShadow = new SystemDropShadowChrome(); dropShadow.SetResourceReference(Control.StyleProperty, "WindowShadow"); Border windowBorder = new Border(); windowBorder.SetResourceReference(Control.StyleProperty, "WindowBorder"); dropShadow.Child = windowBorder; Grid grid = new Grid(); grid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(40.0) }); grid.RowDefinitions.Add(new RowDefinition()); windowBorder.Child = grid; Border headerBorder = new Border(); headerBorder.SetResourceReference(Control.StyleProperty, "HeaderBorder"); headerBorder.MouseLeftButtonDown += DragWindow; grid.Children.Add(headerBorder); Grid.SetRow(headerBorder, 0); ContentPresenter contentPresenter = new ContentPresenter(); contentPresenter.Content = this.Content; grid.Children.Add(contentPresenter); Grid.SetRow(contentPresenter, 1); this.Content = dropShadow; }
private void Initialize() { _listBox = new ListBox(); var tempItem = new ListBoxItem { Content = "TEMP_ITEM_FOR_MEASUREMENT" }; _listBox.Items.Add(tempItem); _listBox.Focusable = false; _listBox.Style = (Style)Application.Current.Resources["AcTb_ListBoxStyle"]; _chrome = new SystemDropShadowChrome { Margin = new Thickness(0, 0, PopupShadowDepth, PopupShadowDepth), Child = _listBox }; _popup = new Popup { SnapsToDevicePixels = true, AllowsTransparency = true, MinHeight = SystemParameters.HorizontalScrollBarHeight + PopupShadowDepth, MinWidth = SystemParameters.VerticalScrollBarWidth + PopupShadowDepth, //VerticalOffset = SystemParameters.PrimaryScreenHeight + 100, Child = _chrome, IsOpen = true, Placement = PlacementMode.Bottom, PlacementTarget = _textBox }; _itemHeight = tempItem.ActualHeight; _listBox.Items.Clear(); // GetInnerElementReferences(); UpdateGripVisual(); SetupEventHandlers(); }
private static void Control_Loaded(object sender, EventArgs e) { Control control = sender as Control; if (control == null || control.Template == null) { return; } control.ApplyTemplate(); CornerRadius cornerRadius = GetCornerRadius(control); Control toggleButton = control.Template.FindName("toggleButton", control) as Control; if (control is ComboBox && toggleButton != null) { toggleButton.ApplyTemplate(); // Set border radius for border radius border Border toggleButtonBorder = toggleButton.Template.FindName("templateRoot", toggleButton) as Border; toggleButtonBorder.CornerRadius = cornerRadius; // Expand padding for combobox to avoid text clipping by border radius control.Padding = new Thickness( control.Padding.Left + cornerRadius.BottomLeft, control.Padding.Top, control.Padding.Right + cornerRadius.BottomRight, control.Padding.Bottom); // Decrease width of dropdown and center it to avoid showing "sticking" dropdown corners Popup popup = control.Template.FindName("PART_Popup", control) as Popup; if (popup != null) { double offset = cornerRadius.BottomLeft - 1; if (offset > 0) { popup.HorizontalOffset = offset; } } SystemDropShadowChrome shadowChrome = control.Template.FindName("shadow", control) as SystemDropShadowChrome; if (shadowChrome != null) { double minWidth = control.ActualWidth - cornerRadius.BottomLeft - cornerRadius.BottomRight; if (minWidth > 0) { shadowChrome.MinWidth = minWidth; } } } // setting borders for non-combobox controls Border border = control.Template.FindName("border", control) as Border; if (border == null) { return; } border.CornerRadius = cornerRadius; }
public void Drawing() { SystemDropShadowChrome s = new SystemDropShadowChrome(); Assert.AreEqual(s.Color, Color.FromArgb(0x71, 0, 0, 0), "Color"); Assert.AreEqual(s.CornerRadius.BottomLeft, 0, "CornerRadius 1"); Assert.AreEqual(s.CornerRadius.BottomRight, 0, "CornerRadius 2"); Assert.AreEqual(s.CornerRadius.TopLeft, 0, "CornerRadius 3"); Assert.AreEqual(s.CornerRadius.TopRight, 0, "CornerRadius 4"); s.Width = 100; s.Height = 100; Window w = new Window(); w.Content = s; w.Show(); DrawingGroup g = VisualTreeHelper.GetDrawing(s); Assert.AreEqual(g.Children.Count, 1, "1"); g = (DrawingGroup)g.Children [0]; Assert.AreEqual(g.Children.Count, 9, "2"); Assert.AreEqual(((RectangleGeometry)((GeometryDrawing)g.Children [0]).Geometry).Rect, new Rect(5, 5, 5, 5), "3"); Assert.AreEqual(((RadialGradientBrush)((GeometryDrawing)g.Children [0]).Brush).Center, new Point(1, 1), "3 brush center"); Assert.AreEqual(((RadialGradientBrush)((GeometryDrawing)g.Children [0]).Brush).GradientOrigin, new Point(1, 1), "3 gradient origin"); Assert.AreEqual(((RadialGradientBrush)((GeometryDrawing)g.Children [0]).Brush).RadiusX, 1, "3 radius x"); Assert.AreEqual(((RadialGradientBrush)((GeometryDrawing)g.Children [0]).Brush).RadiusY, 1, "3 radius y"); Assert.AreEqual(((RectangleGeometry)((GeometryDrawing)g.Children [1]).Geometry).Rect, new Rect(10, 5, 90, 5), "4"); Assert.AreEqual(((LinearGradientBrush)((GeometryDrawing)g.Children [1]).Brush).StartPoint, new Point(0, 1), "4 brush start point"); Assert.AreEqual(((LinearGradientBrush)((GeometryDrawing)g.Children [1]).Brush).EndPoint, new Point(0, 0), "4 brush end point"); Assert.AreEqual(((RectangleGeometry)((GeometryDrawing)g.Children [2]).Geometry).Rect, new Rect(100, 5, 5, 5), "5"); Assert.AreEqual(((RadialGradientBrush)((GeometryDrawing)g.Children [2]).Brush).Center, new Point(0, 1), "5 brush center"); Assert.AreEqual(((RadialGradientBrush)((GeometryDrawing)g.Children [2]).Brush).GradientOrigin, new Point(0, 1), "5 gradient origin"); Assert.AreEqual(((RadialGradientBrush)((GeometryDrawing)g.Children [2]).Brush).RadiusX, 1, "5 radius x"); Assert.AreEqual(((RadialGradientBrush)((GeometryDrawing)g.Children [2]).Brush).RadiusY, 1, "5 radius y"); Assert.AreEqual(((RectangleGeometry)((GeometryDrawing)g.Children [3]).Geometry).Rect, new Rect(5, 10, 5, 90), "6"); Assert.AreEqual(((LinearGradientBrush)((GeometryDrawing)g.Children [3]).Brush).StartPoint, new Point(1, 0), "6 brush start point"); Assert.AreEqual(((LinearGradientBrush)((GeometryDrawing)g.Children [3]).Brush).EndPoint, new Point(0, 0), "6 brush end point"); Assert.AreEqual(((RectangleGeometry)((GeometryDrawing)g.Children [4]).Geometry).Rect, new Rect(100, 10, 5, 90), "7"); Assert.AreEqual(((LinearGradientBrush)((GeometryDrawing)g.Children [4]).Brush).StartPoint, new Point(0, 0), "7 brush start point"); Assert.AreEqual(((LinearGradientBrush)((GeometryDrawing)g.Children [4]).Brush).EndPoint, new Point(1, 0), "7 brush end point"); Assert.AreEqual(((RectangleGeometry)((GeometryDrawing)g.Children [5]).Geometry).Rect, new Rect(5, 100, 5, 5), "8"); Assert.AreEqual(((RadialGradientBrush)((GeometryDrawing)g.Children [5]).Brush).Center, new Point(1, 0), "8 brush center"); Assert.AreEqual(((RadialGradientBrush)((GeometryDrawing)g.Children [5]).Brush).GradientOrigin, new Point(1, 0), "8 gradient origin"); Assert.AreEqual(((RadialGradientBrush)((GeometryDrawing)g.Children [5]).Brush).RadiusX, 1, "8 radius x"); Assert.AreEqual(((RadialGradientBrush)((GeometryDrawing)g.Children [5]).Brush).RadiusY, 1, "8 radius y"); Assert.AreEqual(((RectangleGeometry)((GeometryDrawing)g.Children [6]).Geometry).Rect, new Rect(10, 100, 90, 5), "9"); Assert.AreEqual(((LinearGradientBrush)((GeometryDrawing)g.Children [6]).Brush).StartPoint, new Point(0, 0), "9 brush start point"); Assert.AreEqual(((LinearGradientBrush)((GeometryDrawing)g.Children [6]).Brush).EndPoint, new Point(0, 1), "9 brush end point"); Assert.AreEqual(((RectangleGeometry)((GeometryDrawing)g.Children [7]).Geometry).Rect, new Rect(100, 100, 5, 5), "10"); Assert.AreEqual(((RadialGradientBrush)((GeometryDrawing)g.Children [7]).Brush).Center, new Point(0, 0), "10 brush center"); Assert.AreEqual(((RadialGradientBrush)((GeometryDrawing)g.Children [7]).Brush).GradientOrigin, new Point(0, 0), "10 gradient origin"); Assert.AreEqual(((RadialGradientBrush)((GeometryDrawing)g.Children [7]).Brush).RadiusX, 1, "10 radius x"); Assert.AreEqual(((RadialGradientBrush)((GeometryDrawing)g.Children [7]).Brush).RadiusY, 1, "10 radius y"); Assert.AreEqual(((RectangleGeometry)((GeometryDrawing)g.Children [8]).Geometry).Rect, new Rect(10, 10, 90, 90), "11"); Assert.AreEqual(((SolidColorBrush)((GeometryDrawing)g.Children [8]).Brush).Color, s.Color, "10 color"); }