Binding.UpdateSourceTrigger 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 determina el tiempo de las actualizaciones de origen de enlace para los enlaces bidireccionales.
public:
property UpdateSourceTrigger UpdateSourceTrigger { UpdateSourceTrigger get(); void set(UpdateSourceTrigger value); };
UpdateSourceTrigger UpdateSourceTrigger();
void UpdateSourceTrigger(UpdateSourceTrigger value);
public UpdateSourceTrigger UpdateSourceTrigger { get; set; }
var updateSourceTrigger = binding.updateSourceTrigger;
binding.updateSourceTrigger = updateSourceTrigger;
Public Property UpdateSourceTrigger As UpdateSourceTrigger
<Binding UpdateSourceTrigger="updateSourceTriggerMemberName"/>
Valor de propiedad
Uno de los valores updateSourceTrigger . El valor predeterminado es Default
, que se evalúa como un PropertyChanged
comportamiento de actualización para la mayoría de las propiedades de dependencia, pero se evalúa como LostFocus
para la TextBox.Text
propiedad .
Comentarios
El comportamiento predeterminado para la mayoría de las propiedades de dependencia es PropertyChanged
. Sin embargo, el comportamiento predeterminado de la propiedad TextBox.Text es LostFocus
. Para un enlace a TextBox.Text
, puede cambiar de la UpdateSourceTrigger
siguiente manera:
<TextBox Text="{x:Bind MyProperty, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
Sin embargo, no tendrá ningún efecto en un TextBox
elemento en la plantilla de control de otro control, como NumberBox. Por ejemplo, esta UpdateSourceTrigger
configuración no tiene ningún efecto.
<!-- This UpdateSourceTrigger setting has no effect. -->
<NumberBox Text="{x:Bind MyProperty, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
La otra opción para un comportamiento UpdateSourceTrigger es establecer el valor en Explicit
. Cuando un enlace bidireccional tiene su valor UpdateSourceTrigger como Explicit
, debe llamar explícitamente a UpdateSource en bindingExpression pertinente para hacer que los valores de destino modificados actualicen el origen de datos. Use FrameworkElement.GetBindingExpression para obtener bindingExpression de un objeto donde existe un enlace a una propiedad de dependencia y ese enlace es un enlace bidireccional con UpdateSourceTrigger="Explicit"
.
No se pueden establecer los valores de propiedad de un objeto Binding después de que ese enlace se haya asociado a un elemento de destino y a una propiedad de destino. Si intenta esto, obtendrá una excepción en tiempo de ejecución.