BindingGroup.UpdateSources BindingGroup.UpdateSources BindingGroup.UpdateSources BindingGroup.UpdateSources Method

Definición

Ejecuta el convertidor en el enlace y los objetos ValidationRule que tienen la propiedad ValidationStep establecida en RawProposedValue, ConvertedProposedValue o UpdatedValue y guarda los valores de los destinos en los objetos de origen si todas las reglas de validación se ejecutan correctamente.Runs the converter on the binding and the ValidationRule objects that have the ValidationStep property set to RawProposedValue, ConvertedProposedValue, or UpdatedValue and saves the values of the targets to the source objects if all the validation rules succeed.

public:
 bool UpdateSources();
public bool UpdateSources ();
member this.UpdateSources : unit -> bool
Public Function UpdateSources () As Boolean

Devoluciones

Es true si todas las reglas de validación se ejecutan correctamente; en caso contrario, es false.true if all validation rules succeed; otherwise, false.

Ejemplos

El siguiente ejemplo forma parte de una aplicación que solicita al usuario que escriba varios clientes y asigne un representante de ventas a cada cliente.The following example is part of an application that prompts the user to enter multiple customers and assign a sales representative to each customer. La aplicación comprueba que el representante de ventas y el cliente pertenezcan a la misma región.The application checks that the sales representative and the customer belong to the same region. En el ejemplo UpdateSources se llama a para validar los enlaces y guardar los valores en el origen si todas las reglas de validación se ejecutan correctamente.The example calls UpdateSources to validate the bindings and save the values to the source if all the validation rules succeed.

void saveCustomer_Click(object sender, RoutedEventArgs e)
{
    Button btn = sender as Button;
    FrameworkElement container = (FrameworkElement) customerList.ContainerFromElement(btn);

    // If the user is trying to change an items, when another item has an error,
    // display a message and cancel the currently edited item.
    if (bindingGroupInError != null && bindingGroupInError != container.BindingGroup)
    {
        MessageBox.Show("Please correct the data in error before changing another customer");
        container.BindingGroup.CancelEdit();
        return;
    }

    if (container.BindingGroup.UpdateSources())
    {
        bindingGroupInError = null;
        MessageBox.Show("Item Saved");
    }
    else
    {
        bindingGroupInError = container.BindingGroup;
    }

}
Private Sub saveCustomer_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
	Dim btn As Button = TryCast(sender, Button)
	Dim container As FrameworkElement = CType(customerList.ContainerFromElement(btn), FrameworkElement)

	' If the user is trying to change an items, when another item has an error,
	' display a message and cancel the currently edited item.
	If bindingGroupInError IsNot Nothing AndAlso bindingGroupInError IsNot container.BindingGroup Then
		MessageBox.Show("Please correct the data in error before changing another customer")
		container.BindingGroup.CancelEdit()
		Return
	End If

	If container.BindingGroup.UpdateSources() Then
		bindingGroupInError = Nothing
		MessageBox.Show("Item Saved")
	Else
		bindingGroupInError = container.BindingGroup
	End If

End Sub

Comentarios

Este método actualiza el origen si cada ValidationRule se realiza correctamente, pero no hace que los orígenes confirmen los cambios pendientes y finalizan la transacción de edición.This method updates the source if every ValidationRule succeeds, but it does not cause the sources to commit the pending changes and end the edit transaction. Es decir, si el objeto de origen implementa IEditableObject.That is, if the source object implements IEditableObject. La llamada EndEdit a este método no hace que se llame a.Calling this method does not cause EndEdit to be called. Use el CommitEdit método para que los orígenes confirmen los cambios pendientes.Use the CommitEdit method to have the sources commit the pending changes.

Se aplica a