Freigeben über


FrameworkPropertyMetadata.BindsTwoWayByDefault Eigenschaft

Definition

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Eigenschaft standardmäßig bidirektionale Bindung aufweist.

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

Eigenschaftswert

truewenn die Abhängigkeitseigenschaft, von der diese Metadaten vorhanden sind, standardmäßig bidirektionale Bindungen aufweist; andernfalls . false Der Standardwert lautet false.

Ausnahmen

Die Metadaten wurden bereits auf einen Abhängigkeitseigenschaftsvorgang angewendet, sodass Metadaten versiegelt sind und Eigenschaften der Metadaten nicht festgelegt werden können.

Beispiele

Im folgenden Beispiel werden die Standardmetadaten aus verschiedenen Abhängigkeitseigenschaftsfeldern abgerufen, der Wert verschiedener FrameworkPropertyMetadata Eigenschaften abgefragt und die Informationen zum Auffüllen einer Tabelle verwendet, um einen "Metadatenbrowser" zu implementieren.

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

Hinweise

Wenn diese Eigenschaft nicht vorhanden ist true, sind Bindungsaktualisierungen standardmäßig unidirektionale, basierend auf dem Standardverhalten der Binding Konstruktoren oder einer entsprechenden XAML-Syntax.

In vorhandenen Elementen finden Sie diese Eigenschaft true in der Regel in Metadaten für Abhängigkeitseigenschaften, die sowohl den Berichtszustand als auch durch eine Benutzeraktion ändern können, z Selector.IsSelected. B. .

Diese Eigenschaft meldet nur die Eigenschaften der Standardbindungsaktualisierung der Abhängigkeitseigenschaft im Allgemeinen. Jede Bindung, die auf diese Eigenschaft für eine Instanz festgelegt ist, kann die Mode Eigenschaft der Bindung lokal festlegen und diese Standardeinstellung ändern.

Eigenschaften für abgeleitete Klassen PropertyMetadata werden in der Regel im Objektmodell als Lese-/Schreibzugriff definiert. Dies ist so, dass sie nach der Initialisierung der Instanz angepasst werden können. Nachdem die Metadaten jedoch als Teil eines Aufrufs Registervon , AddOwneroder , oder OverrideMetadata, das Eigenschaftensystem verwendet wird, wird die Metadateninstanz und -eigenschaften, die die Besonderheiten der Metadaten vermitteln, jetzt als unveränderlich betrachtet. Wenn Sie versuchen, diese Eigenschaft festzulegen, IsSealedtrue wird in dieser Metadateninstanz eine Ausnahme ausgelöst.

XAML-Textverwendung

Elemente dieser Klasse werden in der Regel nicht in XAML verwendet.

Gilt für:

Weitere Informationen