AdornerProvider.Activate – metoda
Volána, když požaduje adorners první Návrhář.
Obor názvů: Microsoft.Windows.Design.Interaction
Sestavení: Microsoft.Windows.Design.Interaction (v Microsoft.Windows.Design.Interaction.dll)
Syntaxe
'Deklarace
Protected Overridable Sub Activate ( _
item As ModelItem _
)
protected virtual void Activate(
ModelItem item
)
protected:
virtual void Activate(
ModelItem^ item
)
abstract Activate :
item:ModelItem -> unit
override Activate :
item:ModelItem -> unit
protected function Activate(
item : ModelItem
)
Parametry
- item
Typ: Microsoft.Windows.Design.Model.ModelItem
A ModelItem představující prvek adorned.
Poznámky
Zprostředkovatel adorner pomocí adorned prvek zboží nebo zobrazení inicializovat adorners. Pokud tento kontext není vyžadováno, zprostředkovatel adorner vytvořit adorners v konstruktoru bez přetěžování třeba Activate metody. Tato metoda je volána před návrhář uživatelského rozhraní jsou prvek adorners.
AdornerProvider Instance může aktivovat a deaktivovat několikrát během jeho životnosti. Implementace Activate a Deactivate metody proto.
Příklady
Následující příklad kódu ukazuje, jak přepsat Activate Metoda vytvoření AdornerPanel hostitele Slider řízení, která se používá k nastavení v době návrhu Background Vlastnosti adorned ovládacího prvku. Další informace naleznete v tématu Walkthrough: Creating a Design-time Adorner.
' 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 Overrides Sub Activate(ByVal item As ModelItem)
' Save the ModelItem and hook into when it changes.
' This enables updating the slider position when
' a new Background value is set.
adornedControlModel = item
AddHandler adornedControlModel.PropertyChanged, AddressOf 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.
Dim myPanel = Me.Panel
' The slider extends the full width of the control it adorns.
AdornerPanel.SetAdornerHorizontalAlignment( _
opacitySlider, _
AdornerHorizontalAlignment.Stretch)
' Position the adorner above the control it adorns.
AdornerPanel.SetAdornerVerticalAlignment( _
opacitySlider, _
AdornerVerticalAlignment.OutsideTop)
' Position the adorner 5 pixels above the control.
AdornerPanel.SetAdornerMargin( _
opacitySlider, _
New Thickness(0, 0, 0, 5))
' Initialize the slider when it is loaded.
AddHandler opacitySlider.Loaded, AddressOf slider_Loaded
' Handle the value changes of the slider control.
AddHandler opacitySlider.ValueChanged, AddressOf slider_ValueChanged
AddHandler opacitySlider.PreviewMouseLeftButtonUp, _
AddressOf slider_MouseLeftButtonUp
AddHandler opacitySlider.PreviewMouseLeftButtonDown, _
AddressOf slider_MouseLeftButtonDown
MyBase.Activate(item)
End Sub
' The Panel utility property demand-creates the
' adorner panel and adds it to the provider's
' Adorners collection.
Public ReadOnly Property Panel() As AdornerPanel
Get
If Me.opacitySliderAdornerPanel Is Nothing Then
Me.opacitySliderAdornerPanel = New AdornerPanel()
' Add the adorner to the adorner panel.
Me.opacitySliderAdornerPanel.Children.Add(opacitySlider)
' Add the panel to the Adorners collection.
Adorners.Add(opacitySliderAdornerPanel)
End If
Return Me.opacitySliderAdornerPanel
End Get
End Property
// 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)
{
// 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;
// The slider extends the full width of the control it adorns.
AdornerPanel.SetAdornerHorizontalAlignment(
opacitySlider,
AdornerHorizontalAlignment.Stretch);
// Position the adorner above the control it adorns.
AdornerPanel.SetAdornerVerticalAlignment(
opacitySlider,
AdornerVerticalAlignment.OutsideTop);
// Position the adorner 5 pixels above the control.
AdornerPanel.SetAdornerMargin(
opacitySlider,
new Thickness(0, 0, 0, 5));
// 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);
}
// The Panel utility property demand-creates the
// adorner panel and adds it to the provider's
// Adorners collection.
public AdornerPanel Panel
{
get
{
if (this.opacitySliderAdornerPanel == null)
{
opacitySliderAdornerPanel = new AdornerPanel();
opacitySliderAdornerPanel.Children.Add(opacitySlider);
// Add the panel to the Adorners collection.
Adorners.Add(opacitySliderAdornerPanel);
}
return this.opacitySliderAdornerPanel;
}
}
Zabezpečení rozhraní .NET Framework
- Plná důvěra přímému volajícímu. Částečně zabezpečený kód nemůže tento člen použít. Další informace naleznete v tématu Používání knihoven z částečně důvěryhodného kódu.
Viz také
Odkaz
Microsoft.Windows.Design.Interaction – obor názvů