Condividi tramite


FrameworkPropertyMetadata.BindsTwoWayByDefault Proprietà

Definizione

Ottiene o imposta un valore che indica se la proprietà esegue l'associazione bidirezionale per impostazione predefinita.

public:
 property bool BindsTwoWayByDefault { bool get(); void set(bool value); };
public bool BindsTwoWayByDefault { get; set; }
member this.BindsTwoWayByDefault : bool with get, set
Public Property BindsTwoWayByDefault As Boolean

Valore della proprietà

true se la proprietà di dipendenza su cui esistono questi metadati associa due vie per impostazione predefinita; in caso contrario, false. Il valore predefinito è false.

Eccezioni

I metadati sono già stati applicati a un'operazione di proprietà di dipendenza, in modo che i metadati siano sealed e le proprietà dei metadati non possano essere impostate.

Esempio

Nell'esempio seguente vengono ottenuti i metadati predefiniti da vari campi delle proprietà di dipendenza, viene eseguita una query sul valore di varie FrameworkPropertyMetadata proprietà e vengono usate le informazioni per popolare una tabella per implementare un "browser dei metadati".

pm = dp.GetMetadata(dp.OwnerType);
pm = dp.GetMetadata(dp.OwnerType)
FrameworkPropertyMetadata fpm = pm as FrameworkPropertyMetadata;
if (fpm!=null) {
    AffectsArrange.Text = (fpm.AffectsArrange) ? "Yes" : "No";
    AffectsMeasure.Text = (fpm.AffectsMeasure) ? "Yes" : "No";
    AffectsRender.Text = (fpm.AffectsRender) ? "Yes" : "No";
    Inherits.Text = (fpm.Inherits) ? "Yes" : "No";
    IsDataBindingAllowed.Text = (fpm.IsDataBindingAllowed) ? "Yes" : "No";
    BindsTwoWayByDefault.Text = (fpm.BindsTwoWayByDefault) ? "Yes" : "No";
}
Dim fpm As FrameworkPropertyMetadata = TryCast(pm, FrameworkPropertyMetadata)
If fpm IsNot Nothing Then
    AffectsArrange.Text = If((fpm.AffectsArrange), "Yes", "No")
    AffectsMeasure.Text = If((fpm.AffectsMeasure), "Yes", "No")
    AffectsRender.Text = If((fpm.AffectsRender), "Yes", "No")
        [Inherits].Text = If((fpm.Inherits), "Yes", "No")
    IsDataBindingAllowed.Text = If((fpm.IsDataBindingAllowed), "Yes", "No")
    BindsTwoWayByDefault.Text = If((fpm.BindsTwoWayByDefault), "Yes", "No")

Commenti

In assenza di questa proprietà, truegli aggiornamenti di binding sono unidirezionale per impostazione predefinita, in base al comportamento predefinito dei Binding costruttori o alla sintassi XAML equivalente.

Negli elementi esistenti, in genere questa proprietà viene impostata su true nei metadati per le proprietà di dipendenza che lo stato del report e sono modificabili dall'azione dell'utente, ad esempio Selector.IsSelected.

Questa proprietà segnala solo le caratteristiche di aggiornamento dell'associazione predefinite della proprietà di dipendenza in generale. Qualsiasi associazione impostata su questa proprietà in un'istanza di può impostare localmente la Mode proprietà dell'associazione e modificare questa impostazione predefinita.

Le proprietà di qualsiasi classe derivata di PropertyMetadata vengono in genere definite nel modello a oggetti come lettura/scrittura. In questo modo possono essere regolati dopo l'inizializzazione dell'istanza. Tuttavia, dopo che i metadati vengono utilizzati come parte di una chiamata a Register, AddOwnero OverrideMetadata, il sistema di proprietà sigillerà l'istanza e le proprietà dei metadati che trasmettono le specifiche dei metadati sono ora considerate non modificabili. Se si tenta di impostare questa proprietà dopo IsSealed che si trova true in questa istanza di metadati, verrà generata un'eccezione.

Utilizzo del testo XAML

I membri di questa classe non vengono in genere usati in XAML.

Si applica a

Vedi anche