FrameworkPropertyMetadata.BindsTwoWayByDefault Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.