BindingGroup.GetValue(Object, String) Método

Definición

Devuelve el valor propuesto para la propiedad y elemento especificados.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

Parámetros

item
Object

Objeto que contiene la propiedad especificada.The object that contains the specified property.

propertyName
String

Propiedad cuyo valor propuesto se va a obtener.The property whose proposed value to get.

Devoluciones

Valor de propiedad propuesto.The proposed property value.

Excepciones

No hay un enlace para el elemento y la propiedad especificados.There is not a binding for the specified item and property.

El valor de la propiedad especificada no está disponible, debido a un error de conversión o a que se produjo un error en una regla de validación anterior.The value of the specified property is not available, due to a conversion error or because an earlier validation rule failed.

Ejemplos

El siguiente ejemplo forma parte de una aplicación que solicita al usuario que escriba varios clientes y asigne un representante de ventas a cada cliente.The following example is part of an application that prompts the user to enter multiple customers and assign a sales representative to each customer. La aplicación comprueba que el representante de ventas y el cliente pertenezcan a la misma región.The application checks that the sales representative and the customer belong to the same region. En el ejemplo se Validate muestra el método, que GetValue(Object, String) utiliza el método para obtener los valores especificados por el cliente.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

Comentarios

Utilice este método en el ValidationRule.Validate método para obtener el valor que se va a confirmar en el origen.Use this method in the ValidationRule.Validate method to get the value to be committed to the source. El tipo del valor devuelto depende de la fase en la que ValidationRule se produce.The type of the return value depends on the stage at which the ValidationRule occurs. Por ejemplo, si un TextBox está enlazado a datos a una propiedad de tipo entero y ValidationRule el que GetValue(Object, String) llama a ValidationStep tiene su RawProposedValueestablecido en, el método devuelve una cadena.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. Si tiene su ValidationStep establecido en ConvertedProposedValue, el método devuelve el tipo devuelto por el convertidor del enlace. ValidationRuleIf the ValidationRule has its ValidationStep set to ConvertedProposedValue, the method returns whatever type that is returned by the binding's converter. En este ejemplo, GetValue(Object, String) normalmente devuelve un entero.In this example, GetValue(Object, String) usually returns an integer.

Se aplica a