BindingGroup.GetValue(Object, String) Metódus

Definíció

A megadott tulajdonság és elem javasolt értékét adja vissza.

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

Paraméterek

item
Object

A megadott tulajdonságot tartalmazó objektum.

propertyName
String

Az a tulajdonság, amelynek a javasolt értéke lekérendő.

Válaszok

A javasolt tulajdonságérték.

Kivételek

A megadott elemhez és tulajdonsághoz nincs kötés.

A megadott tulajdonság értéke konvertálási hiba vagy egy korábbi érvényesítési szabály meghiúsulása miatt nem érhető el.

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 a metódust Validate mutatja be, amely a metódust használja az GetValue(Object, String) ügyfél által megadott értékek lekérésére.

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

Megjegyzések

Ezzel a ValidationRule.Validate módszerrel lekérheti a forráshoz lekérni kívánt értéket. A visszatérési érték típusa attól függ, hogy milyen fázisban történik.ValidationRule Ha például egy TextBox adat egy egész típusú tulajdonsághoz van kötve, és a ValidationRule hívások GetValue(Object, String)ValidationStep értéke a következő RawProposedValue, a metódus egy sztringet ad vissza. Ha a ValidationRuleValidationStep metódus értéke a következő ConvertedProposedValue, a metódus bármilyen típust ad vissza, amelyet a kötés átalakítója ad vissza. Ebben a példában GetValue(Object, String) általában egész számot ad vissza.

A következőre érvényes: