PropertyMetadata Costruttori

Definizione

Overload

PropertyMetadata(Object)

Inizializza una nuova istanza della classe PropertyMetadata usando un valore predefinito della proprietà.

PropertyMetadata(Object, PropertyChangedCallback)

Inizializza una nuova istanza della classe PropertyMetadata usando un valore predefinito della proprietà e un riferimento di callback.

PropertyMetadata(Object)

Inizializza una nuova istanza della classe PropertyMetadata usando un valore predefinito della proprietà.

public:
 PropertyMetadata(Platform::Object ^ defaultValue);
 PropertyMetadata(IInspectable const& defaultValue);
public PropertyMetadata(object defaultValue);
function PropertyMetadata(defaultValue)
Public Sub New (defaultValue As Object)

Parametri

defaultValue
Object

Platform::Object

IInspectable

Valore predefinito per la proprietà in cui viene applicata la proprietà PropertyMetadata .

Si applica a

PropertyMetadata(Object, PropertyChangedCallback)

Inizializza una nuova istanza della classe PropertyMetadata usando un valore predefinito della proprietà e un riferimento di callback.

public:
 PropertyMetadata(Platform::Object ^ defaultValue, PropertyChangedCallback ^ propertyChangedCallback);
 PropertyMetadata(IInspectable const& defaultValue, PropertyChangedCallback const& propertyChangedCallback);
public PropertyMetadata(object defaultValue, PropertyChangedCallback propertyChangedCallback);
function PropertyMetadata(defaultValue, propertyChangedCallback)
Public Sub New (defaultValue As Object, propertyChangedCallback As PropertyChangedCallback)

Parametri

defaultValue
Object

Platform::Object

IInspectable

Valore predefinito per la proprietà in cui viene applicata la proprietà PropertyMetadata .

propertyChangedCallback
PropertyChangedCallback

Riferimento al callback da chiamare per il comportamento modificato della proprietà.

Esempio

In questo esempio viene illustrato l'utilizzo di questo costruttore. OnLabelChanged fa riferimento a un'implementazione delegato per un PropertyChangedCallback (non visualizzato). Per altre informazioni sul codice che inserisce questo esempio nel contesto, vedere Proprietà delle dipendenze personalizzate.

public static readonly DependencyProperty LabelProperty = DependencyProperty.Register(
  "Label",
  typeof(String),
  typeof(ImageWithLabelControl),
  new PropertyMetadata(null,new PropertyChangedCallback(OnLabelChanged))
);
Public Shared ReadOnly LabelProperty As DependencyProperty = _
    DependencyProperty.Register("Label", _
      GetType(String), GetType(ImageWithLabelControl), _
      New PropertyMetadata(Nothing, new PropertyChangedCallback(AddressOf OnLabelChanged)))
DependencyProperty^ ImageWithLabelControl::_LabelProperty = 
    DependencyProperty::Register("Label", 
    Platform::String::typeid,
    ImageWithLabelControl::typeid, 
    ref new PropertyMetadata(nullptr,
      ref new PropertyChangedCallback(&ImageWithLabelControl::OnLabelChanged))
    );

Commenti

Se si vuole stabilire un'istanza propertyMetadata con un metodo di callback modificato dalla proprietà, ma non un valore predefinito, passare null per defaultValue.

Se si passa un valore per defaultValue, assicurarsi che il tipo di tale valore sia valido per il tipo propertyType dalla definizione della proprietà di dipendenza tramite la chiamata Register . Se è stata creata una mancata corrispondenza tra il parametro di registrazione e i metadati, il problema si manifesta solo indirettamente. Si otterranno errori di runtime quando si tenta di creare un'istanza di un tipo con questo valore della proprietà di dipendenza, non si otterrà alcun avviso o avviso in fase di progettazione o errore.

Vedi anche

Si applica a