Condividi tramite


DependencyProperty.RegisterAttached Metodo

Definizione

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.

propertyType
TypeName Type

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)).

ownerType
TypeName Type

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

Si applica a

Vedi anche