Nyelv

BindingGroup.UpdateSources Metódus

Definíció

Futtatja a konvertert a kötésen és a ValidationRule tulajdonságot tartalmazó ValidationStepobjektumokonRawProposedValue, ConvertedProposedValuevagy UpdatedValue menti a célértékeket a forrásobjektumokra, ha az összes érvényesítési szabály sikeres.

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

Válaszok

trueha az összes érvényesítési szabály sikeres; egyéb esetben. false

Példák

Az alábbi példa egy alkalmazás része, amely arra kéri a felhasználót, hogy adjon meg több ügyfelet, és rendeljen egy értékesítési képviselőt minden ügyfélhez. Az alkalmazás ellenőrzi, hogy az értékesítési képviselő és az ügyfél ugyanahhoz a régióhoz tartoznak-e. A példa meghívja UpdateSources a kötések érvényesítését és az értékek forrásba mentését, ha az összes érvényesítési szabály sikeres.

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

Megjegyzések

Ez a módszer frissíti a forrást, ha minden ValidationRule sikeres, de nem eredményezi, hogy a források véglegesítik a függőben lévő módosításokat, és befejezik a szerkesztési tranzakciót. Ez azt jelzi, hogy a forrásobjektum megvalósítja-e a elemet IEditableObject. A metódus meghívása nem okoz EndEdit meghívást. CommitEdit A metódus használatával a források véglegesítik a függőben lévő módosításokat.

A következőre érvényes: