public CropControl()
        {
            m_image = new Image();
            m_image.Stretch = Stretch.Uniform;
            m_image.SizeChanged += Image_SizeChanged;
            Children.Add(m_image);

            m_leftBorder = new Border();
            m_leftBorder.Clip = new RectangleGeometry();
            Children.Add(m_leftBorder);

            m_rightBorder = new Border();
            m_rightBorder.Clip = new RectangleGeometry();
            Children.Add(m_rightBorder);

            m_topBorder = new Border();
            m_topBorder.Clip = new RectangleGeometry();
            Children.Add(m_topBorder);

            m_bottomBorder = new Border();
            m_bottomBorder.Clip = new RectangleGeometry();
            Children.Add(m_bottomBorder);

            m_imageBorder = new Border();
            m_imageBorder.BorderThickness = new Thickness(2);
            m_imageBorder.BorderBrush = new SolidColorBrush(Color.FromArgb(0x33, 0xff, 0xff, 0xff));
            Children.Add(m_imageBorder);

            var stackPanel = new StackPanel();
            stackPanel.Margin = new Thickness(12);
            stackPanel.VerticalAlignment = VerticalAlignment.Bottom;
            stackPanel.HorizontalAlignment = HorizontalAlignment.Left;
            stackPanel.Orientation = Orientation.Horizontal;
            Children.Add(stackPanel);

            var textBlock = new TextBlock();
            textBlock.FontFamily = new FontFamily("Segoe MDL2 Assets");
            textBlock.FontSize = 34;
            textBlock.Margin = new Thickness(0, 0, 10, 0);
            textBlock.VerticalAlignment = VerticalAlignment.Center;
            textBlock.Text = "\ue1a4";
            stackPanel.Children.Add(textBlock);

            m_zoomSlider = new Slider();
            m_zoomSlider.Maximum = 1;
            //m_zoomSlider.Margin = new Thickness(12);
            m_zoomSlider.VerticalAlignment = VerticalAlignment.Center;
            //m_zoomSlider.HorizontalAlignment = HorizontalAlignment.Left;
            m_zoomSlider.Width = 300;
            m_zoomSlider.Value = 0;
            m_zoomSlider.ValueChanged += OnSliderValueChanged;
            m_zoomSlider.StepFrequency = 0.0001;
            stackPanel.Children.Add(m_zoomSlider);

            textBlock = new TextBlock();
            textBlock.FontFamily = new FontFamily("Segoe MDL2 Assets");
            textBlock.FontSize = 34;
            textBlock.Margin = new Thickness(10, 0, 0, 0);
            textBlock.VerticalAlignment = VerticalAlignment.Center;
            textBlock.Text = "\ue12e";
            stackPanel.Children.Add(textBlock);

            m_cropButton = new CircleButton();
            m_cropButton.Icon = "\ue123";
            m_cropButton.FontSize = 34;
            m_cropButton.Command = new Mvvm.Command(ExecuteCrop);
            m_cropButton.VerticalAlignment = VerticalAlignment.Bottom;
            m_cropButton.HorizontalAlignment = HorizontalAlignment.Right;
            m_cropButton.Margin = new Thickness(12);
            Children.Add(m_cropButton);

            SizeChanged += OnSizeChanged;
            PointerPressed += OnPointerPressed;
            PointerMoved += OnPointerMoved;
            PointerExited += OnPointerExited;
            PointerReleased += OnPointerReleased;

            Background = new SolidColorBrush(Colors.Black);
            Color = Color.FromArgb(0x33, 0xff, 0xff, 0xff);
        }
Exemple #2
0
        public CropControl()
        {
            m_image              = new Image();
            m_image.Stretch      = Stretch.Uniform;
            m_image.SizeChanged += Image_SizeChanged;
            Children.Add(m_image);

            m_leftBorder      = new Border();
            m_leftBorder.Clip = new RectangleGeometry();
            Children.Add(m_leftBorder);

            m_rightBorder      = new Border();
            m_rightBorder.Clip = new RectangleGeometry();
            Children.Add(m_rightBorder);

            m_topBorder      = new Border();
            m_topBorder.Clip = new RectangleGeometry();
            Children.Add(m_topBorder);

            m_bottomBorder      = new Border();
            m_bottomBorder.Clip = new RectangleGeometry();
            Children.Add(m_bottomBorder);

            m_imageBorder = new Border();
            m_imageBorder.BorderThickness = new Thickness(2);
            m_imageBorder.BorderBrush     = new SolidColorBrush(Color.FromArgb(0x33, 0xff, 0xff, 0xff));
            Children.Add(m_imageBorder);

            var stackPanel = new StackPanel();

            stackPanel.Margin              = new Thickness(12);
            stackPanel.VerticalAlignment   = VerticalAlignment.Bottom;
            stackPanel.HorizontalAlignment = HorizontalAlignment.Left;
            stackPanel.Orientation         = Orientation.Horizontal;
            Children.Add(stackPanel);

            var textBlock = new TextBlock();

            textBlock.FontFamily        = new FontFamily("Segoe MDL2 Assets");
            textBlock.FontSize          = 34;
            textBlock.Margin            = new Thickness(0, 0, 10, 0);
            textBlock.VerticalAlignment = VerticalAlignment.Center;
            textBlock.Text = "\ue1a4";
            stackPanel.Children.Add(textBlock);

            m_zoomSlider         = new Slider();
            m_zoomSlider.Maximum = 1;
            //m_zoomSlider.Margin = new Thickness(12);
            m_zoomSlider.VerticalAlignment = VerticalAlignment.Center;
            //m_zoomSlider.HorizontalAlignment = HorizontalAlignment.Left;
            m_zoomSlider.Width         = 300;
            m_zoomSlider.Value         = 0;
            m_zoomSlider.ValueChanged += OnSliderValueChanged;
            m_zoomSlider.StepFrequency = 0.0001;
            stackPanel.Children.Add(m_zoomSlider);

            textBlock                   = new TextBlock();
            textBlock.FontFamily        = new FontFamily("Segoe MDL2 Assets");
            textBlock.FontSize          = 34;
            textBlock.Margin            = new Thickness(10, 0, 0, 0);
            textBlock.VerticalAlignment = VerticalAlignment.Center;
            textBlock.Text              = "\ue12e";
            stackPanel.Children.Add(textBlock);

            m_cropButton                     = new CircleButton();
            m_cropButton.Icon                = "\ue123";
            m_cropButton.FontSize            = 34;
            m_cropButton.Command             = new Mvvm.Command(ExecuteCrop);
            m_cropButton.VerticalAlignment   = VerticalAlignment.Bottom;
            m_cropButton.HorizontalAlignment = HorizontalAlignment.Right;
            m_cropButton.Margin              = new Thickness(12);
            Children.Add(m_cropButton);

            SizeChanged     += OnSizeChanged;
            PointerPressed  += OnPointerPressed;
            PointerMoved    += OnPointerMoved;
            PointerExited   += OnPointerExited;
            PointerReleased += OnPointerReleased;

            Background = new SolidColorBrush(Colors.Black);
            Color      = Color.FromArgb(0x33, 0xff, 0xff, 0xff);
        }