FrameworkPropertyMetadata.BindsTwoWayByDefault Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece un valor que indica si la propiedad enlaza bidireccionalmente de forma predeterminada.
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
Valor de propiedad
true si la propiedad de dependencia en la que existen estos metadatos enlaza bidireccionalmente de forma predeterminada; de lo contrario, false. El valor predeterminado es false.
Excepciones
Los metadatos ya se han aplicado a una operación de propiedad de dependencia, de modo que no se puedan establecer los metadatos y las propiedades de los metadatos.
Ejemplos
En el ejemplo siguiente se obtienen los metadatos predeterminados de varios campos de propiedad de dependencia, se consulta el valor de varias FrameworkPropertyMetadata propiedades en él y se usa la información para rellenar una tabla para implementar un "explorador de metadatos".
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")
Comentarios
En ausencia de que esta propiedad sea true, las actualizaciones de enlace son unidireccionales de forma predeterminada, según el comportamiento predeterminado de los Binding constructores o la sintaxis XAML equivalente.
En los elementos existentes, normalmente encontrará esta propiedad establecida true en en metadatos para las propiedades de dependencia que el estado del informe y son modificables por acción del usuario, por ejemplo Selector.IsSelected.
Esta propiedad solo notifica las características de actualización de enlace predeterminadas de la propiedad de dependencia en general. Cualquier enlace establecido en esta propiedad en una instancia de puede establecer localmente la Mode propiedad del enlace y cambiar este valor predeterminado.
Las propiedades de cualquier clase derivada de normalmente se definen en el modelo de PropertyMetadata objetos como lectura y escritura. Esto es para que se puedan ajustar después de la inicialización de la instancia. Sin embargo, después de consumir los metadatos como parte de una llamada a Register, AddOwnero OverrideMetadata, el sistema de propiedades sellará que la instancia de metadatos y las propiedades que transmiten los detalles de los metadatos ahora se consideran inmutables. Si intenta establecer esta propiedad después IsSealed de que se encuentra true en esta instancia de metadatos, se producirá una excepción.
Uso de texto XAML
Los miembros de esta clase no se suelen usar en XAML.