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à

Boolean

true se la proprietà di dipendenza in cui si trovano questi metadati esegue l'associazione bidirezionale per impostazione predefinita. In caso contrario, false. Il valore predefinito è false.

Eccezioni

Poiché sono già stati applicati a un'operazione della proprietà di dipendenza, questi metadati sono sealed e non è possibile impostarne le proprietà.

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 utilizzate le informazioni per popolare una tabella per implementare un "browser 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à true, gli aggiornamenti di associazione sono unidirezionale per impostazione predefinita, in base al comportamento predefinito dei costruttori o alla Binding sintassi XAML equivalente.

Negli elementi esistenti questa proprietà è in genere 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 questo valore predefinito.

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à continuerà a bloccare 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