Freigeben über


BindingGroup.GetValue(Object, String) Methode

Definition

Gibt den vorgeschlagenen Wert für die angegebene Eigenschaft und das Element zurück.

public:
 System::Object ^ GetValue(System::Object ^ item, System::String ^ propertyName);
public object GetValue (object item, string propertyName);
override this.GetValue : obj * string -> obj
Public Function GetValue (item As Object, propertyName As String) As Object

Parameter

item
Object

Das Objekt, das die angegebene Eigenschaft enthält.

propertyName
String

Die Eigenschaft, deren vorgeschlagener Wert abgerufen werden soll.

Gibt zurück

Object

Der vorgeschlagene Eigenschaftswert.

Ausnahmen

Es besteht keine Bindung für das angegebene Element und die Eigenschaft.

Der Wert der angegebenen Eigenschaft ist aufgrund eines Konvertierungsfehlers oder einer zuvor fehlgeschlagenen Validierungsregel nicht verfügbar.

Beispiele

Das folgende Beispiel ist Teil einer Anwendung, die den Benutzer aufgefordert, mehrere Kunden einzugeben und jedem Kunden einen Vertriebsmitarbeiter zuzuweisen. Die Anwendung überprüft, ob der Vertriebsmitarbeiter und der Kunde zur gleichen Region gehören. Das Beispiel zeigt die Methode, die die Validate GetValue(Object, String) Methode verwendet, um Werte abzurufen, die der Kunde eingegeben hat.

public class AreasMatch : ValidationRule
{
    public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
    {
        BindingGroup bg = value as BindingGroup;
        Customer cust = bg.Items[0] as Customer;
        
        if (cust == null)
        {
            return new ValidationResult(false, "Customer is not the source object");
        }

        Region region = (Region)bg.GetValue(cust, "Location");
        ServiceRep rep = bg.GetValue(cust, "ServiceRepresentative") as ServiceRep;
        string customerName = bg.GetValue(cust, "Name") as string;

        if (region == rep.Area)
        {
            return ValidationResult.ValidResult;
        }
        else
        {

            StringBuilder sb = new StringBuilder();
            sb.AppendFormat("{0} must be assigned a sales representative that serves the {1} region. \n ", customerName, region);
            return new ValidationResult(false, sb.ToString());
        }
    }
}
Public Class AreasMatch
    Inherits ValidationRule
    Public Overrides Function Validate(ByVal value As Object, ByVal cultureInfo As System.Globalization.CultureInfo) As ValidationResult
        Dim bg As BindingGroup = TryCast(value, BindingGroup)
        Dim cust As Customer = TryCast(bg.Items(0), Customer)

        If cust Is Nothing Then
            Return New ValidationResult(False, "Customer is not the source object")
        End If

        Dim region As Region = CType(bg.GetValue(cust, "Location"), Region)
        Dim rep As ServiceRep = TryCast(bg.GetValue(cust, "ServiceRepresentative"), ServiceRep)
        Dim customerName As String = TryCast(bg.GetValue(cust, "Name"), String)

        If region = rep.Area Then
            Return ValidationResult.ValidResult
        Else

            Dim sb As New StringBuilder()
            sb.AppendFormat("{0} must be assigned a sales representative that serves the {1} region. " & vbLf & " ", customerName, region)
            Return New ValidationResult(False, sb.ToString())
        End If
    End Function
End Class

Hinweise

Verwenden Sie diese Methode in der ValidationRule.Validate Methode, um den Wert abzurufen, der an die Quelle gebunden werden soll. Der Typ des Rückgabewerts hängt von der Phase ab, in der die ValidationRule Vorkommen auftreten. Wenn z. B. eine TextBox Datenverbindung an eine Eigenschaft des Typs ganzzahl gebunden ist und die Aufrufe GetValue(Object, String) ValidationStep ihren Satz RawProposedValueaufweisen, gibt die ValidationRule Methode eine Zeichenfolge zurück. Wenn die ValidationRule Methode auf "festgelegt" festgelegt ConvertedProposedValueistValidationStep, gibt die Methode jeden Typ zurück, der vom Konverter der Bindung zurückgegeben wird. In diesem Beispiel wird in der Regel GetValue(Object, String) eine ganze Zahl zurückgegeben.

Gilt für