FrameworkPropertyMetadata.BindsTwoWayByDefault Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de eigenschap standaard in twee richtingen bindt.
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
Waarde van eigenschap
true als de afhankelijkheidseigenschap waarop deze metagegevens bestaan, standaard in twee richtingen bindt; anders, false. De standaardwaarde is false.
Uitzonderingen
De metagegevens zijn al toegepast op een afhankelijkheidseigenschapsbewerking, zodat metagegevens worden verzegeld en eigenschappen van de metagegevens niet kunnen worden ingesteld.
Voorbeelden
In het volgende voorbeeld worden de standaardmetagegevens opgehaald uit verschillende afhankelijkheidseigenschapsvelden, wordt de waarde van verschillende FrameworkPropertyMetadata eigenschappen erop opgevraagd en wordt de informatie gebruikt om een tabel te vullen om een 'metagegevensbrowser' te implementeren.
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")
Opmerkingen
Als deze eigenschap niet aanwezig is true, zijn bindingsupdates standaard in één richting, op basis van het standaardgedrag van de Binding constructors of een equivalente XAML-syntaxis.
In bestaande elementen vindt u deze eigenschap meestal ingesteld true in metagegevens voor afhankelijkheidseigenschappen die zowel de rapportstatus rapporteren als kunnen worden gewijzigd door gebruikersactie, bijvoorbeeld Selector.IsSelected.
Deze eigenschap rapporteert alleen de standaard-bindingupdatekenmerken van de afhankelijkheidseigenschap in het algemeen. Elke binding die is ingesteld op deze eigenschap op een exemplaar, kan de Mode eigenschap van de binding lokaal instellen en deze standaardinstelling wijzigen.
Eigenschappen voor eventuele afgeleide klassen worden PropertyMetadata doorgaans gedefinieerd in het objectmodel als lezen/schrijven. Dit is zodat ze na de initialisatie van het exemplaar kunnen worden aangepast. Nadat de metagegevens echter worden gebruikt als onderdeel van een aanroep naar Register, AddOwnerof OverrideMetadata, zal het eigenschappensysteem dat metagegevensexemplaren en eigenschappen die de specifieke kenmerken van de metagegevens overbrengen, nu als onveranderbaar beschouwd worden. Als u deze eigenschap probeert in te stellen nadat IsSealedtrue deze zich op dit metagegevensexemplaren bevindt, wordt er een uitzondering gegenereerd.
XAML-tekstgebruik
Leden van deze klasse worden doorgaans niet gebruikt in XAML.