BindingGroup.GetValue(Object, String) Methode

Definition

Gibt den vorgeschlagenen Wert für die angegebene Eigenschaft und das Element zurück.Returns the proposed value for the specified property and item.

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.The object that contains the specified property.

propertyName
String

Die Eigenschaft, deren vorgeschlagener Wert abgerufen werden soll.The property whose proposed value to get.

Gibt zurück

Der vorgeschlagene Eigenschaftswert.The proposed property value.

Ausnahmen

Es besteht keine Bindung für das angegebene Element und die Eigenschaft.There is not a binding for the specified item and property.

Der Wert der angegebenen Eigenschaft ist aufgrund eines Konvertierungsfehlers oder einer zuvor fehlgeschlagenen Validierungsregel nicht verfügbar.The value of the specified property is not available, due to a conversion error or because an earlier validation rule failed.

Beispiele

Das folgende Beispiel ist Teil einer Anwendung, die den Benutzer zur Eingabe mehrerer Kunden auffordert und jedem Kunden einen Vertriebsmitarbeiter zuweist.The following example is part of an application that prompts the user to enter multiple customers and assign a sales representative to each customer. Die Anwendung überprüft, ob der Vertriebsmitarbeiter und der Kunde der gleichen Region angehören.The application checks that the sales representative and the customer belong to the same region. Das Beispiel zeigt die Validate -Methode, die die GetValue(Object, String) -Methode verwendet, um Werte zu erhalten, die der Kunde eingegeben hat.The example shows the Validate method, which uses the GetValue(Object, String) method to get values that the customer entered.

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 ValidationRule.Validate der-Methode, um den Wert zu erhalten, der an die Quelle übertragen werden soll.Use this method in the ValidationRule.Validate method to get the value to be committed to the source. Der Typ des Rückgabewerts hängt von der Stufe ab, in der ValidationRule die auftritt.The type of the return value depends on the stage at which the ValidationRule occurs. Wenn z. b. TextBox ein Daten an eine Eigenschaft vom Typ Integer gebunden ist und ValidationRule der, GetValue(Object, String) auf den ValidationStep aufruft, RawProposedValueauf festgelegt ist, gibt die Methode eine Zeichenfolge zurück.For example, if a TextBox is data bound to a property of type integer and the ValidationRule that calls GetValue(Object, String) has its ValidationStep set to RawProposedValue, the method returns a string. Wenn der ValidationRule ValidationStep aufConvertedProposedValuefestgelegt ist, gibt die Methode den Typ zurück, der vom Konverter der Bindung zurückgegeben wird.If the ValidationRule has its ValidationStep set to ConvertedProposedValue, the method returns whatever type that is returned by the binding's converter. In diesem Beispiel GetValue(Object, String) gibt in der Regel eine Ganzzahl zurück.In this example, GetValue(Object, String) usually returns an integer.

Gilt für: