DependencyProperty.RegisterAttached Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Registra una proprietà di dipendenza associata con il nome della proprietà, il tipo di proprietà, il tipo di proprietà, il tipo di proprietario e i metadati delle proprietà per la proprietà.
static DependencyProperty RegisterAttached(winrt::hstring const& name, TypeName const& propertyType, TypeName const& ownerType, PropertyMetadata const& defaultMetadata);
public static DependencyProperty RegisterAttached(string name, System.Type propertyType, System.Type ownerType, PropertyMetadata defaultMetadata);
function registerAttached(name, propertyType, ownerType, defaultMetadata)
Public Shared Function RegisterAttached (name As String, propertyType As Type, ownerType As Type, defaultMetadata As PropertyMetadata) As DependencyProperty
Parametri
- name
-
String
winrt::hstring
Nome della proprietà di dipendenza da registrare.
Tipo della proprietà, come riferimento al tipo (System.Type per Microsoft .NET, uno struct helper TypeName per le estensioni dei componenti visual C++ (C++/CX)).
Tipo di proprietario che registra la proprietà di dipendenza, come riferimento al tipo (System.Type per Microsoft .NET, uno struct helper TypeName per le estensioni dei componenti visual C++ (C++/CX)).
- defaultMetadata
- PropertyMetadata
Istanza dei metadati delle proprietà. Questo può contenere un riferimento all'implementazione PropertyChangedCallback .
Restituisce
Identificatore di proprietà di dipendenza che deve essere usato per impostare il valore di un campo di sola lettura statico pubblico nella classe. Tale identificatore viene quindi usato per fare riferimento alla proprietà associata in un secondo momento, per operazioni quali l'impostazione del relativo valore a livello di codice o l'associazione di un binding.
Esempio
In questo esempio viene definita una classe derivata da DependencyObject e viene definita una proprietà associata insieme al campo identificatore. Lo scenario per questa classe è che è una classe di servizio che dichiara una proprietà associata che altri elementi dell'interfaccia utente possono impostare in XAML e il servizio agisce potenzialmente sui valori delle proprietà associate su tali elementi dell'interfaccia utente in fase di esecuzione. Per altri esempi, vedere Proprietà associate personalizzate.
public abstract class AquariumServices : DependencyObject
{
public enum Buoyancy {Floats,Sinks,Drifts}
public static readonly DependencyProperty BuoyancyProperty = DependencyProperty.RegisterAttached(
"Buoyancy",
typeof(Buoyancy),
typeof(AquariumServices),
new PropertyMetadata(Buoyancy.Floats)
);
public static void SetBuoyancy(DependencyObject element, Buoyancy value)
{
element.SetValue(BuoyancyProperty, value);
}
public static Buoyancy GetBuoyancy(DependencyObject element)
{
return (Buoyancy)element.GetValue(BuoyancyProperty);
}
}
Public Class AquariumServices
Inherits DependencyObject
Public Enum Buoyancy
Floats
Sinks
Drifts
End Enum
Public Shared ReadOnly BuoyancyProperty As DependencyProperty = _
DependencyProperty.RegisterAttached(
"Buoyancy", _
GetType(Buoyancy), _
GetType(AquariumServices), _
New PropertyMetadata(Buoyancy.Floats))
Public Sub SetBuoyancy(element As DependencyObject, value As Buoyancy)
element.SetValue(BuoyancyProperty, value)
End Sub
Public Function GetBuoyancy(element As DependencyObject) As Buoyancy
GetBuoyancy = CType(element.GetValue(BuoyancyProperty), Buoyancy)
End Function
End Class