Пример #1
0
        private static UIElement CreateMessageBoxControlFunc(UIElement parent)
        {
            Grid screenBg = new Grid();

            screenBg.HorizontalAlignment = HorizontalAlignment.Center;
            screenBg.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = GridLength.Auto
            });
            screenBg.SetBinding(Control.BackgroundProperty, new Binding(Control.BackgroundProperty)
            {
                Source = parent
            });
            screenBg.Parent     = parent;
            screenBg.Foreground = EmptyKeys.UserInterface.Media.Brushes.White;

            Grid grid = new Grid();

            grid.Width = 260;
            grid.SetResourceReference(Control.BackgroundProperty, MapRenderResourceKey.MessageBoxBackgroundBrush);
            grid.ColumnDefinitions.Add(new ColumnDefinition());
            grid.RowDefinitions.Add(new RowDefinition());
            grid.RowDefinitions.Add(new RowDefinition());
            screenBg.Children.Add(grid);
            Grid.SetColumn(grid, 0);

            Border border = new Border();

            grid.Children.Add(border);
            Grid.SetRow(border, 0);

            ContentPresenter pnlTitle = CommonHelpers.CreateContentPresenter(parent, "Title");

            pnlTitle.Height = 26;
            pnlTitle.Margin = new Thickness(0, 4, 0, 0);
            pnlTitle.HorizontalAlignment = HorizontalAlignment.Center;
            pnlTitle.VerticalAlignment   = VerticalAlignment.Center;
            pnlTitle.IsHitTestVisible    = false;
            pnlTitle.Name = "PART_WindowTitle";
            border.Child  = pnlTitle;

            ContentPresenter pnlContent = CommonHelpers.CreateContentPresenter(parent, "Content");

            pnlContent.Margin = new Thickness(20, 8, 20, 0);
            pnlContent.Name   = "PART_WindowContent";
            grid.Children.Add(pnlContent);
            Grid.SetRow(pnlContent, 1);

            Window msgBox = parent as Window;

            if (msgBox != null)
            {
                msgBox.Visible     += MsgBox_Visible;
                msgBox.SizeChanged += MsgBox_SizeChanged;
                var style = MapRenderButtonStyle.CreateMapRenderButtonStyle();
                style.TargetType = typeof(Button);
                msgBox.Resources[typeof(Button)] = style;
            }
            return(screenBg);
        }
Пример #2
0
        public static UIElement CreateControlTemplateCreateWindowUIElement(UIElement parent)
        {
            var border = new Border {
                Parent = parent, BorderThickness = new Thickness(1f)
            };

            border.SetResourceReference(Control.BorderBrushProperty, CommonResourceKeys.WindowBorderBrushKey);

            var binding = new Binding("SnapsToDevicePixels")
            {
                Source = parent
            };

            border.SetBinding(UIElement.SnapsToDevicePixelsProperty, binding);

            var binding2 = new Binding("Background")
            {
                Source = parent
            };

            border.SetBinding(Control.BackgroundProperty, binding2);

            var grid = new Grid();

            border.Child = grid;
            grid.ColumnDefinitions.Add(new ColumnDefinition());
            grid.RowDefinitions.Add(new RowDefinition {
                Height = GridLength.Auto
            });
            grid.RowDefinitions.Add(new RowDefinition());
            grid.RowDefinitions.Add(new RowDefinition {
                Height = GridLength.Auto
            });
            var border2 = new Border {
                Name = "PART_WindowTitleBorder"
            };

            border2.SetResourceReference(Control.BackgroundProperty, CommonResourceKeys.WindowBorderBrushKey);
            grid.Children.Add(border2);

            var contentPresenter = CommonHelpers.CreateContentPresenter(parent, "Title");

            contentPresenter.IsHitTestVisible    = false;
            contentPresenter.Name                = "PART_WindowTitle";
            contentPresenter.Height              = 22;
            contentPresenter.HorizontalAlignment = HorizontalAlignment.Center;
            contentPresenter.VerticalAlignment   = VerticalAlignment.Center;
            contentPresenter.Margin              = new Thickness(0f);
            border2.Child = contentPresenter;

            var scrollViewer = new ScrollViewer
            {
                Margin = new Thickness(4f),
                HorizontalContentAlignment    = HorizontalAlignment.Stretch,
                VerticalContentAlignment      = VerticalAlignment.Stretch,
                HorizontalScrollBarVisibility = ScrollBarVisibility.Disabled,
                VerticalScrollBarVisibility   = ScrollBarVisibility.Disabled
            };

            grid.Children.Add(scrollViewer);
            Grid.SetRow(scrollViewer, 1);

            var contentPresenter2 = CommonHelpers.CreateContentPresenter(parent, "Content");

            contentPresenter2.Name = "PART_WindowContent";
            scrollViewer.Content   = contentPresenter2;

            var binding3 = new Binding("Width")
            {
                Source = parent
            };

            contentPresenter2.SetBinding(UIElement.MaxWidthProperty, binding3);

            var binding4 = new Binding("Height")
            {
                Source = parent
            };

            contentPresenter2.SetBinding(UIElement.MaxHeightProperty, binding4);

            var border3 = new Border
            {
                Name   = "PART_WindowResizeBorder",
                Width  = 8f,
                Height = 8f,
                HorizontalAlignment = HorizontalAlignment.Right,
                VerticalAlignment   = VerticalAlignment.Bottom
            };

            border3.SetResourceReference(Control.BackgroundProperty, CommonResourceKeys.WindowResizeThumbKey);
            //border3.SetResourceReference(Control.BackgroundProperty, CommonResourceKeys.AccentColorBrushKey);
            grid.Children.Add(border3);
            Grid.SetRow(border3, 1);
            return(border);
        }