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.
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
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.