Freigeben über


FrameworkPropertyMetadata.BindsTwoWayByDefault Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob die Eigenschaft standardmäßig bidirektional gebunden wird, oder legt ihn fest.

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

Boolean

true, falls die Abhängigkeitseigenschaft, für die diese Metadaten vorhanden sind, standardmäßig bidirektional gebunden wird, andernfalls false. Der Standardwert ist false.

Ausnahmen

Die Metadaten wurden bereits auf einen Vorgang der Abhängigkeitseigenschaft angewendet, sodass Metadaten versiegelt sind und keine Eigenschaften für Metadaten festgelegt werden können.

Beispiele

Im folgenden Beispiel werden die Standardmetadaten aus verschiedenen Abhängigkeitseigenschaftsfeldern abgerufen, der Wert verschiedener FrameworkPropertyMetadata Eigenschaften darauf abgefragt und die Informationen verwendet, um eine Tabelle zu füllen, 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 Bindungsupdates standardmäßig einweg, basierend auf dem Standardverhalten der Binding Konstruktoren oder der entsprechenden XAML-Syntax.

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

Diese Eigenschaft meldet nur die Standardbindungsaktualisierungseigenschaften der Abhängigkeitseigenschaft im Allgemeinen. Jede Bindung, die auf diese Eigenschaft in einer Instanz festgelegt wird, kann die Mode Eigenschaft der Bindung lokal festlegen und diese Standardeinstellung ändern.

Eigenschaften für alle abgeleiteten 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 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, nachdem IsSealed true sie sich auf dieser Metadateninstanz befindet, wird eine Ausnahme ausgelöst.

XAML-Textverwendung

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

Gilt für

Siehe auch