FrameworkPropertyMetadata.BindsTwoWayByDefault Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, czy właściwość domyślnie wiąże się z dwukierunkową.Gets or sets a value that indicates whether the property binds two-way by default.

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

Wartość właściwości

Boolean

true Jeśli właściwość zależności, w której te metadane istnieje, domyślnie tworzy powiązanie dwukierunkowe; w przeciwnym razie false .true if the dependency property on which this metadata exists binds two-way by default; otherwise, false. Wartość domyślna to false.The default is false.

Wyjątki

Metadane zostały już zastosowane do operacji właściwości zależności, dlatego metadane są zapieczętowane i nie można ustawić właściwości metadanych.The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

Przykłady

Poniższy przykład pobiera domyślne metadane z różnych pól właściwości zależności, wysyła zapytanie do wartości różnych FrameworkPropertyMetadata właściwości, a następnie używa informacji do wypełniania tabeli w celu zaimplementowania "przeglądarki metadanych".The following example obtains the default metadata from various dependency property fields, queries the value of various FrameworkPropertyMetadata properties on it, and uses the information to populate a table to implement a "metadata browser".

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")

Uwagi

W przypadku braku tej właściwości true , aktualizacje powiązań są domyślnie jednokierunkowe, na podstawie domyślnego zachowania Binding konstruktorów lub równoważnej SKŁADNI języka XAML.In absence of this property being true, binding updates are one-way by default, based on the default behavior of the Binding constructors or equivalent XAML syntax.

W istniejących elementach zwykle ta właściwość jest ustawiana na wartość true w metadanych dla właściwości zależności, których stan raportu i można modyfikować za pomocą akcji użytkownika, na przykład Selector.IsSelected .In existing elements, you will usually find this property set to true in metadata for dependency properties that both report state and are modifiable by user action, for example Selector.IsSelected.

Ta właściwość tylko raportuje domyślną charakterystykę aktualizacji powiązań właściwości zależności.This property only reports the default binding update characteristics of the dependency property in general. Wszystkie powiązania ustawione na tę właściwość w wystąpieniu mogą lokalnie ustawić Mode właściwość powiązania i zmienić to ustawienie domyślne.Any binding set to this property on an instance can locally set the Mode property of the binding and change this default.

Właściwości dla wszystkich klas pochodnych PropertyMetadata są zwykle zdefiniowane w modelu obiektów jako do odczytu i zapisu.Properties on any derived classes of PropertyMetadata are typically defined in the object model as read-write. Jest to tak więc, aby można je było dostosować po zainicjowaniu wystąpienia.This is so they can be adjusted after initialization of the instance. Jednak po wykorzystaniu metadanych jako części wywołania metody Register , AddOwner , lub OverrideMetadata , system właściwości spowoduje, że wystąpienie metadanych i właściwości, które przekażą określone metadane, są teraz traktowane jako niezmienne.However, after the metadata is consumed as part of a call to Register, AddOwner, or OverrideMetadata, the property system will seal that metadata instance and properties that convey the specifics of the metadata are now considered immutable. Próba ustawienia tej właściwości po IsSealed znajduje się true w tym wystąpieniu metadanych spowoduje wystąpienie wyjątku.Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

Użycie tekstu w języku XAMLXAML Text Usage

Elementy członkowskie tej klasy nie są zwykle używane w języku XAML.Members of this class are not typically used in XAML.

Dotyczy

Zobacz też