Exportar (0) Imprimir
Expandir todo

Binding.UpdateSourceTrigger (Propiedad)

Actualización: noviembre 2007

Obtiene o establece un valor que determina el intervalo de actualización del origen de enlace.

Espacio de nombres:  System.Windows.Data
Ensamblado:  PresentationFramework (en PresentationFramework.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/xaml/presentation

public UpdateSourceTrigger UpdateSourceTrigger { get; set; }
/** @property */
public UpdateSourceTrigger get_UpdateSourceTrigger()
/** @property */
public  void set_UpdateSourceTrigger(UpdateSourceTrigger value)

public function get UpdateSourceTrigger () : UpdateSourceTrigger
public function set UpdateSourceTrigger (value : UpdateSourceTrigger)
<object UpdateSourceTrigger="UpdateSourceTrigger" .../>

Valor de propiedad

Tipo: System.Windows.Data.UpdateSourceTrigger
Uno de los valores de UpdateSourceTrigger. El valor predeterminado es Default, que devuelve el valor predeterminado de UpdateSourceTrigger de la propiedad de dependencia del destino. Sin embargo, el valor predeterminado para la mayoría de las propiedades de dependencia es PropertyChanged, mientras que la propiedad Text tiene como valor predeterminado LostFocus.
Una manera de determinar mediante programación el valor predeterminado de UpdateSourceTrigger de una propiedad de dependencia es obtener los metadatos de la propiedad mediante GetMetadata y, a continuación, comprobar el valor de la propiedad DefaultUpdateSourceTrigger.

Los enlaces TwoWay u OneWayToSource realizan escuchas para detectar los cambios en la propiedad de destino y los propagan de nuevo al origen. Esto se conoce como la actualización del origen. Normalmente, estas actualizaciones se producen cuando cambia la propiedad de destino. Esto funciona bien para las casillas y otros controles sencillos, pero no suele ser apropiado para los campos de texto. La actualización después de cada pulsación de tecla puede reducir el rendimiento y deniega al usuario la oportunidad usual de retroceder y corregir los errores tipográficos antes de confirmar el nuevo valor. Por consiguiente, el valor predeterminado de UpdateSourceTrigger de la propiedad Text es LostFocus y no es PropertyChanged.

Si establece el valor de UpdateSourceTrigger en Explicit, debe llamar al método UpdateSource; de lo contrario, los cambios no se propagarán de nuevo al origen.

En este tema se describe cómo utilizar la propiedad UpdateSourceTrigger para controlar el control de tiempo de las actualizaciones del origen de enlace. En el tema se utiliza el control TextBox como ejemplo.

El valor predeterminado de UpdateSourceTrigger de la propiedad TextBox.Text es LostFocus. Esto significa que si una aplicación tiene un objeto TextBox con una propiedad TextBox.Text enlazada a datos, el siguiente texto que se escriba en TextBox no actualizará el origen de enlace hasta que TextBox pierda el foco (por ejemplo, cuando haga clic fuera de TextBox).

Si desea que el origen se actualice a medida que se escribe, debe establecer la propiedad UpdateSourceTrigger del enlace en PropertyChanged. En el ejemplo siguiente, las propiedades Text de TextBox y de TextBlock están enlazadas a la misma propiedad de origen. La propiedad UpdateSourceTrigger del enlace de TextBox está establecida en PropertyChanged.

<Label>Enter a Name:</Label>
<TextBox>
  <TextBox.Text>
    <Binding Source="{StaticResource myDataSource}" Path="Name"
             UpdateSourceTrigger="PropertyChanged"/>
  </TextBox.Text>
</TextBox>

<Label>The name you entered:</Label>
<TextBlock Text="{Binding Source={StaticResource myDataSource}, Path=Name}"/>


Como resultado, TextBlock muestra el mismo texto (dado que el origen cambia) a medida que el usuario escribe texto en TextBox, como se muestra en la captura de pantalla siguiente del ejemplo:

Captura de pantalla de ejemplo de enlace de datos simple

Para obtener el ejemplo completo, vea Ejemplo Simple Binding.

Si tiene un cuadro de diálogo o un formulario modificable por el usuario y desea diferir las actualizaciones del origen hasta que el usuario haya terminado de modificar los campos y haga clic en "Aceptar", puede establecer el valor de UpdateSourceTrigger de los enlaces en Explicit, como en el ejemplo siguiente:

<TextBox Name="itemNameTextBox"
         Text="{Binding Path=ItemName, UpdateSourceTrigger=Explicit}" />


Cuando se establece el valor de UpdateSourceTrigger en Explicit, el valor del origen cambia únicamente cuando la aplicación llama al método UpdateSource. En el siguiente ejemplo se muestra cómo llamar a UpdateSource para itemNameTextBox.

// itemNameTextBox is an instance of a TextBox
BindingExpression be = itemNameTextBox.GetBindingExpression(TextBox.TextProperty);
be.UpdateSource();


Para obtener el ejemplo completo, vea Ejemplo Explicitly Updating the Binding Source.

ms594718.alert_note(es-es,VS.90).gifNota:

Puede utilizar la misma técnica para las propiedades de otros controles, pero debe tener presente que el valor predeterminado de UpdateSourceTrigger de la mayoría de las demás propiedades es PropertyChanged. Para obtener más información, consulte la página de propiedades UpdateSourceTrigger.

ms594718.alert_note(es-es,VS.90).gifNota:

La propiedad UpdateSourceTrigger se encarga de las actualizaciones del origen y, por consiguiente, únicamente es pertinente para los enlaces TwoWay o OneWay. Para que los enlaces TwoWay y OneWay funcionen, el objeto de origen debe proporcionar notificaciones de cambio de propiedad. Puede consultar los ejemplos citados en este tema para obtener más información. Además, puede consultar Cómo: Implementar la notificación de cambio de propiedad.

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft