Rappresenta una proprietà che può essere impostata tramite metodi quali applicazione di stili, associazione dati, animazione ed ereditarietà.
System.Windows.DependencyProperty
Spazio dei nomi: System.Windows
Assembly: WindowsBase (in WindowsBase.dll)
XMLNS per XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
<TypeConverterAttribute("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")> _ Public NotInheritable Class DependencyProperty
[TypeConverterAttribute("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")] public sealed class DependencyProperty
[TypeConverterAttribute(L"System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")] public ref class DependencyProperty sealed
[<Sealed>] [<TypeConverterAttribute("System.Windows.Markup.DependencyPropertyConverter, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null")>] type DependencyProperty = class end
<object property="dependencyPropertyName"/> - or - <object property="ownerType.dependencyPropertyName"/> - or - <object property="attachedPropertyOwnerType.attachedPropertyName"/>
Valor XAML
Il tipo DependencyProperty espone i seguenti membri.
| Nome | Descrizione | |
|---|---|---|
|
DefaultMetadata | Ottiene i metadati predefiniti della proprietà di dipendenza. |
|
GlobalIndex | Ottiene un valore generato internamente che identifica in modo univoco la proprietà di dipendenza. |
|
Name | Ottiene il nome della proprietà di dipendenza. |
|
OwnerType | Ottiene il tipo dell'oggetto che ha registrato la proprietà di dipendenza con il sistema della proprietà, o che è stato aggiunto come proprietario della proprietà. |
|
PropertyType | Ottiene il tipo che la proprietà di dipendenza utilizza per il valore. |
|
ReadOnly | Ottiene un valore che indica se la proprietà di dipendenza identificata da questa istanza DependencyProperty è una proprietà di dipendenza di sola lettura. |
|
ValidateValueCallback | Ottiene il callback di convalida del valore per la proprietà di dipendenza. |
| Nome | Descrizione | |
|---|---|---|
|
AddOwner(Type) | Aggiunge un altro tipo come proprietario di una proprietà di dipendenza già registrata. |
|
AddOwner(Type, PropertyMetadata) | Aggiunge un altro tipo come proprietario di una proprietà di dipendenza già registrata, fornendo i metadati per la proprietà di dipendenza esistente sul tipo di proprietario specificato. |
|
Equals(Object) | Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object) |
|
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) |
|
GetHashCode | Restituisce un codice hash per questo oggetto DependencyProperty. (Esegue l'override di Object.GetHashCode()). |
|
GetMetadata(DependencyObject) | Restituisce i metadati per questa proprietà di dipendenza sull'istanza dell'oggetto specificato. |
|
GetMetadata(DependencyObjectType) | Restituisce i metadati per questa proprietà di dipendenza su un tipo specificato. |
|
GetMetadata(Type) | Restituisce i metadati per questa proprietà di dipendenza su un tipo esistente specificato. |
|
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
|
IsValidType | Determina se un valore specificato è accettabile per questo tipo di proprietà di dipendenza, come controllato per il tipo di proprietà fornito nella registrazione originale della proprietà di dipendenza. |
|
IsValidValue | Determina se il valore fornito è accettato per il tipo di proprietà tramite il controllo del tipo di base e anche, potenzialmente, se è all'interno dell'intervallo consentito dei valori per quel tipo. |
|
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) |
|
OverrideMetadata(Type, PropertyMetadata) | Specifica i metadati alternativi per questa proprietà di dipendenza quando è presente su istanze di un tipo specificato, eseguendo l'override dei metadati esistenti per la proprietà di dipendenza come sono stati ereditati dai tipi di base. |
|
OverrideMetadata(Type, PropertyMetadata, DependencyPropertyKey) | Fornisce i metadati alternativi per una proprietà di dipendenza di sola lettura quando è presente su istanze di un tipo specificato, eseguendo l'override dei metadati forniti nella registrazione della proprietà di dipendenza iniziale. È necessario passare DependencyPropertyKey affinché la proprietà di dipendenza di sola lettura eviti di generare un'eccezione. |
|
Register(String, Type, Type) | Registra una proprietà di dipendenza con il nome della proprietà, il tipo della proprietà e il tipo del proprietario specificati. |
|
Register(String, Type, Type, PropertyMetadata) | Registra una proprietà di dipendenza con il nome della proprietà, il tipo della proprietà, il tipo del proprietario e i metadati della proprietà specificati. |
|
Register(String, Type, Type, PropertyMetadata, ValidateValueCallback) | Registra una proprietà di dipendenza con il nome della proprietà, il tipo della proprietà, il tipo del proprietario, i metadati della proprietà e un callback di convalida del valore per la proprietà specificati. |
|
RegisterAttached(String, Type, Type) | Registra una proprietà associata con il nome della proprietà, il tipo della proprietà e il tipo del proprietario specificati. |
|
RegisterAttached(String, Type, Type, PropertyMetadata) | Registra una proprietà associata con il nome della proprietà, il tipo della proprietà, il tipo del proprietario e i metadati della proprietà specificati. |
|
RegisterAttached(String, Type, Type, PropertyMetadata, ValidateValueCallback) | Registra una proprietà associata con il tipo della proprietà, il tipo del proprietario, i metadati della proprietà e un callback di convalida del valore per la proprietà specificati. |
|
RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata) | Registra una proprietà associata di sola lettura, con il tipo della proprietà, il tipo del proprietario e i metadati della proprietà specificati. |
|
RegisterAttachedReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) | Registra una proprietà associata di sola lettura con il tipo della proprietà, il tipo del proprietario, i metadati della proprietà e un callback di convalida specificati. |
|
RegisterReadOnly(String, Type, Type, PropertyMetadata) | Registra una proprietà di dipendenza di sola lettura, con il tipo della proprietà, il tipo del proprietario e i metadati della proprietà specificati. |
|
RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback) | Registra una proprietà di dipendenza di sola lettura con il tipo della proprietà, il tipo del proprietario, i metadati della proprietà e un callback di convalida specificati. |
|
ToString | Restituisce la rappresentazione di stringa della proprietà di dipendenza. (Esegue l'override di Object.ToString()). |
| Nome | Descrizione | |
|---|---|---|
|
UnsetValue | Specifica un valore statico utilizzato dal sistema della proprietà WPF piuttosto che null per indicare che la proprietà esiste, ma non ha il valore impostato dal sistema della proprietà. |
Un oggetto DependencyProperty supporta le funzionalità seguenti in Windows Presentation Foundation (WPF):
-
La proprietà può essere impostata in uno stile. Per ulteriori informazioni, vedere Styling and Templating.
-
La proprietà può essere impostata attraverso l'associazione di dati. Per le ulteriori informazioni sulle proprietà di dipendenza con associazione dati, vedere How to: Bind the Properties of Two Controls.
-
La proprietà può essere impostata mediante un riferimento a una risorsa dinamica. Per ulteriori informazioni, vedere Resources Overview.
-
La proprietà può ereditare il suo valore automaticamente da un elemento padre nella struttura ad albero dell'elemento. Per ulteriori informazioni, vedere Property Value Inheritance.
-
La proprietà può essere animata. Per ulteriori informazioni, vedere Animation Overview.
-
La proprietà può creare un rapporto quando il valore precedente della proprietà è stato modificato e il valore della proprietà può essere assegnato. Per ulteriori informazioni, vedere Dependency Property Callbacks and Validation.
-
La proprietà riporta informazioni a WPF, ad esempio segnala se la modifica di un valore di proprietà richiede che il sistema di layout ricomponga gli elementi visivi di un elemento.
-
La proprietà riceve supporto in WPF Designer per Visual Studio. Ad esempio, la proprietà può essere modificata nella finestra Proprietà.
Per ulteriori informazioni sulle proprietà di dipendenza, vedere Dependency Properties Overview. Se si desidera che le proprietà sui tipi personalizzati supportino le funzionalità dell'elenco precedente, è necessario creare una proprietà di dipendenza. Per informazioni su come creare le proprietà di dipendenza personalizzate, vedere Custom Dependency Properties.
Una proprietà associata consente a qualsiasi oggetto di fornire informazioni sul tipo che definisce la proprietà stessa. In WPF qualsiasi tipo che eredita da DependencyObject può utilizzare una proprietà associata indipendentemente dal fatto che il tipo erediti o meno dal tipo che definisce la proprietà. Una proprietà associata è una funzionalità del linguaggio XAML. Per impostare una proprietà associata in XAML, utilizzare la sintassi ownerType.propertyName. Un esempio di proprietà associata è la proprietà DockPanel.Dock. Se si desidera creare una proprietà che può essere utilizzata su tutti i tipi DependencyObject, è necessario definire una proprietà associata. Per ulteriori informazioni sulle proprietà associate e su come crearle, vedere Attached Properties Overview.
This example shows how to back a common language runtime (CLR) property with a DependencyProperty field, thus defining a dependency property. When you define your own properties and want them to support many aspects of Windows Presentation Foundation (WPF) functionality, including styles, data binding, inheritance, animation, and default values, you should implement them as a dependency property.
The following example first registers a dependency property by calling the Register method. The name of the identifier field that you use to store the name and characteristics of the dependency property must be the Name you chose for the dependency property as part of the Register call, appended by the literal string Property. For instance, if you register a dependency property with a Name of Location, then the identifier field that you define for the dependency property must be named LocationProperty.
In this example, the name of the dependency property and its CLR accessor is State; the identifier field is StateProperty; the type of the property is Boolean; and the type that registers the dependency property is MyStateControl.
If you fail to follow this naming pattern, designers might not report your property correctly, and certain aspects of property system style application might not behave as expected.
You can also specify default metadata for a dependency property. This example registers the default value of the State dependency property to be false.
Public Class MyStateControl Inherits ButtonBase Public Sub New() MyBase.New() End Sub Public Property State() As Boolean Get Return CType(Me.GetValue(StateProperty), Boolean) End Get Set(ByVal value As Boolean) Me.SetValue(StateProperty, value) End Set End Property Public Shared ReadOnly StateProperty As DependencyProperty = DependencyProperty.Register("State", GetType(Boolean), GetType(MyStateControl),New PropertyMetadata(False)) End Class
public class MyStateControl : ButtonBase { public MyStateControl() : base() { } public Boolean State { get { return (Boolean)this.GetValue(StateProperty); } set { this.SetValue(StateProperty, value); } } public static readonly DependencyProperty StateProperty = DependencyProperty.Register( "State", typeof(Boolean), typeof(MyStateControl),new PropertyMetadata(false)); }
For more information about how and why to implement a dependency property, as opposed to just backing a CLR property with a private field, see Dependency Properties Overview.
.NET Framework
Supportato in: 4, 3.5, 3.0.NET Framework Client Profile
Supportato in: 4, 3.5 SP1Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2
.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.