FrameworkPropertyMetadata.BindsTwoWayByDefault Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Lekéri vagy beállít egy értéket, amely jelzi, hogy a tulajdonság alapértelmezés szerint kétirányú kötést köt-e.
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
Tulajdonság értéke
trueha a metaadatok alapjául szolgáló függőségi tulajdonság alapértelmezés szerint kétirányú kötést alkalmaz; egyéb esetben. false Az alapértelmezett érték a false.
Kivételek
A metaadatokat már alkalmazták egy függőségi tulajdonság műveletére, így a metaadatok le vannak zárva, és a metaadatok tulajdonságai nem állíthatók be.
Példák
Az alábbi példa lekérte az alapértelmezett metaadatokat a különböző függőségi tulajdonságmezőkből, lekérdezi a rajta lévő különböző FrameworkPropertyMetadata tulajdonságok értékét, és az információk segítségével feltölt egy táblát egy "metaadat-böngésző" implementálásához.
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")
Megjegyzések
A tulajdonság truehiányában a kötésfrissítések alapértelmezés szerint egyirányúak a konstruktorok alapértelmezett viselkedése vagy az Binding azzal egyenértékű XAML-szintaxis alapján.
A meglévő elemekben ez a tulajdonság true általában metaadatokban jelenik meg olyan függőségi tulajdonságok esetében, amelyek jelentésállapotúak, és felhasználói művelettel módosíthatók, például Selector.IsSelected.
Ez a tulajdonság általában csak a függőségi tulajdonság alapértelmezett kötésfrissítési jellemzőit jelenti. A példányon a tulajdonsághoz beállított kötések helyileg beállíthatják a Mode kötés tulajdonságát, és módosíthatják ezt az alapértelmezett beállítást.
A származtatott osztályok PropertyMetadata tulajdonságai általában írás-olvasásként vannak definiálva az objektummodellben. Így a példány inicializálása után módosíthatók. Ha azonban a metaadatok a tulajdonságrendszer meghívásának RegisterAddOwnerrészeként kerülnek használatba, OverrideMetadataa rendszer zárolja, hogy a metaadatok példánya és a metaadatok jellemzőit továbbadó tulajdonságok mostantól megváltoztathatatlannak minősülnek. Ha megkísérli beállítani ezt a tulajdonságot, miután IsSealed ezen a metaadat-példányon van, true kivételt fog eredményezni.
XAML-szöveghasználat
Az osztály tagjait általában nem használják az XAML-ben.