BindingGroup.UpdateSources Methode

Definitie

Voert het conversieprogramma uit op de binding en de ValidationRule objecten waarop de ValidationStep eigenschap is ingesteld RawProposedValue, ConvertedProposedValueof UpdatedValue slaat de waarden van de doelen op de bronobjecten op als alle validatieregels slagen.

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

Retouren

true als alle validatieregels slagen; anders, false.

Voorbeelden

Het volgende voorbeeld maakt deel uit van een toepassing waarin de gebruiker wordt gevraagd om meerdere klanten in te voeren en een verkoopvertegenwoordiger toe te wijzen aan elke klant. De toepassing controleert of de verkoopvertegenwoordiger en de klant deel uitmaken van dezelfde regio. In het voorbeeld UpdateSources worden de bindingen gevalideerd en worden de waarden opgeslagen in de bron als alle validatieregels slagen.

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

Opmerkingen

Met deze methode wordt de bron bijgewerkt als alles ValidationRule slaagt, maar dit zorgt er niet voor dat de bronnen de wijzigingen in behandeling doorvoeren en de bewerkingstransactie beëindigen. Dat wil gezegd, als het bronobject wordt geïmplementeerd IEditableObject. Als u deze methode aanroept, wordt EndEdit deze niet aangeroepen. Gebruik de CommitEdit methode om de bronnen de wijzigingen in behandeling te laten doorvoeren.

Van toepassing op