private void PlaceAdornerPanel()
        {
            AdornerPanel.SetHorizontalStretch(designerUI, AdornerStretch.Stretch);
            AdornerPanel.SetVerticalStretch(designerUI, AdornerStretch.Stretch);

            var placement = new AdornerPlacementCollection();

            placement.PositionRelativeToContentHeight(0, -10);
            placement.PositionRelativeToContentWidth(1, 0);
            placement.SizeRelativeToAdornerDesiredHeight(1, 0);
            placement.SizeRelativeToAdornerDesiredWidth(1, 0);
            AdornerPanel.SetPlacements(designerUI, placement);
        }
        protected override void Activate(ModelItem item)
        {
            // Save the ModelItem and hook into when it changes.
            // This enables updating the slider position when
            // a new Background value is set.
            adornedControlModel = item;
            adornedControlModel.PropertyChanged +=
                new System.ComponentModel.PropertyChangedEventHandler(
                    AdornedControlModel_PropertyChanged);

            // Setup the slider's min and max values.
            spaceSlider.Minimum             = -20;
            spaceSlider.Maximum             = 20;
            spaceSlider.TickFrequency       = 1;
            spaceSlider.IsSnapToTickEnabled = true;

            spaceSlider.Background = new SolidColorBrush(Colors.Green);
            spaceSlider.Foreground = new SolidColorBrush(Colors.Red);

            // Setup the adorner panel.
            // All adorners are placed in an AdornerPanel
            // for sizing and layout support.
            AdornerPanel myPanel = this.Panel;

            AdornerPanel.SetHorizontalStretch(spaceSlider, AdornerStretch.Stretch);
            AdornerPanel.SetVerticalStretch(spaceSlider, AdornerStretch.None);

            AdornerPlacementCollection placement = new AdornerPlacementCollection();

            // The adorner's width is relative to the content.
            // The slider extends the full width of the control it adorns.
            placement.SizeRelativeToContentWidth(1.0, 0);

            // The adorner's height is the same as the slider's.
            placement.SizeRelativeToAdornerDesiredHeight(1.0, 0);

            // Position the adorner above the control it adorns.
            placement.PositionRelativeToAdornerHeight(-2.0, 0);

            // Position the adorner up 5 pixels. This demonstrates
            // that these placement calls are additive. These two calls
            // are equivalent to the following single call:
            // PositionRelativeToAdornerHeight(-1.0, -5).
            placement.PositionRelativeToAdornerHeight(0, -5);

            AdornerPanel.SetPlacements(spaceSlider, placement);

            // Initialize the slider when it is loaded.
            spaceSlider.Loaded += new RoutedEventHandler(slider_Loaded);

            // Handle the value changes of the slider control.
            spaceSlider.ValueChanged +=
                new RoutedPropertyChangedEventHandler <double>(
                    slider_ValueChanged);

            spaceSlider.PreviewMouseLeftButtonUp +=
                new System.Windows.Input.MouseButtonEventHandler(
                    slider_MouseLeftButtonUp);

            spaceSlider.PreviewMouseLeftButtonDown +=
                new System.Windows.Input.MouseButtonEventHandler(
                    slider_MouseLeftButtonDown);
            base.Activate(item);
        }
Пример #3
0
        private void PlaceAdornerPanel()
        {
            AdornerPanel.SetHorizontalStretch(designerUI, AdornerStretch.Stretch);
            AdornerPanel.SetVerticalStretch(designerUI, AdornerStretch.Stretch);

            var placement = new AdornerPlacementCollection();
            placement.PositionRelativeToContentHeight(0, -10);
            placement.PositionRelativeToContentWidth(1, 0);
            placement.SizeRelativeToAdornerDesiredHeight(1, 0);
            placement.SizeRelativeToAdornerDesiredWidth(1, 0);
            AdornerPanel.SetPlacements(designerUI, placement);
        }
        // The following method is called when the adorner is activated.
        // It creates the adorner control, sets up the adorner panel,
        // and attaches a ModelItem to the adorned control.
        protected override void Activate(ModelItem item, DependencyObject view)
        {
            //MessageBox.Show("OpacitySliderAdornerProvider Activate");

            // Save the ModelItem and hook into when it changes.
            // This enables updating the slider position when
            // a new Background value is set.
            adornedControlModel = item;
            adornedControlModel.PropertyChanged +=
                new System.ComponentModel.PropertyChangedEventHandler(
                    AdornedControlModel_PropertyChanged);

            // Setup the slider's min and max values.
            opacitySlider.Minimum = 0;
            opacitySlider.Maximum = 1;

            // Setup the adorner panel.
            // All adorners are placed in an AdornerPanel
            // for sizing and layout support.
            AdornerPanel myPanel = this.Panel;

            AdornerPanel.SetHorizontalStretch(opacitySlider, AdornerStretch.Stretch);
            AdornerPanel.SetVerticalStretch(opacitySlider, AdornerStretch.None);

            AdornerPlacementCollection placement = new AdornerPlacementCollection();

            // The adorner's width is relative to the content.
            // The slider extends the full width of the control it adorns.
            placement.SizeRelativeToContentWidth(1.0, 0);

            // The adorner's height is the same as the slider's.
            placement.SizeRelativeToAdornerDesiredHeight(1.0, 0);

            // Position the adorner above the control it adorns.
            placement.PositionRelativeToAdornerHeight(-1.0, 0);

            // Position the adorner up 5 pixels. This demonstrates
            // that these placement calls are additive. These two calls
            // are equivalent to the following single call:
            // PositionRelativeToAdornerHeight(-1.0, -5).
            placement.PositionRelativeToAdornerHeight(0, -5);

            AdornerPanel.SetPlacements(opacitySlider, placement);

            // Initialize the slider when it is loaded.
            opacitySlider.Loaded += new RoutedEventHandler(slider_Loaded);

            // Handle the value changes of the slider control.
            opacitySlider.ValueChanged +=
                new RoutedPropertyChangedEventHandler<double>(
                    slider_ValueChanged);

            opacitySlider.PreviewMouseLeftButtonUp +=
                new System.Windows.Input.MouseButtonEventHandler(
                    slider_MouseLeftButtonUp);

            opacitySlider.PreviewMouseLeftButtonDown +=
                new System.Windows.Input.MouseButtonEventHandler(
                    slider_MouseLeftButtonDown);

            base.Activate(item, view);
        }