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); }
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); }