Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo BindingGroup.GetValue (Object, String)

 

Data di pubblicazione: novembre 2016

Restituisce il valore proposto per l'articolo e la proprietà specificata.

Spazio dei nomi:   System.Windows.Data
Assembly:  PresentationFramework (in PresentationFramework.dll)

public object GetValue(
	object item,
	string propertyName
)

Parametri

item
Type: System.Object

Oggetto che contiene la proprietà specificata.

propertyName
Type: System.String

La proprietà il cui valore proposto da ottenere.

Valore restituito

Type: System.Object

Il valore della proprietà proposta.

Exception Condition
InvalidOperationException

Non è un'associazione per la proprietà e l'elemento specificato.

ValueUnavailableException

Il valore della proprietà specificata non è disponibile, a causa di un errore di conversione o perché una regola di convalida precedente non è riuscito.

Utilizzare questo metodo nel ValidationRule.Validate per ottenere il valore per eseguire il commit all'origine. Il tipo del valore restituito dipende dalla fase in cui il ValidationRule si verifica. Ad esempio, se un TextBox è associato a dati a una proprietà di tipo integer e ValidationRule che chiama il metodo GetValue(Object, String) ha relativo ValidationStep impostato su RawProposedValue, il metodo restituisce una stringa. Se il ValidationRule ha relativo ValidationStep impostato su ConvertedProposedValue, il metodo restituisce il tipo restituito dal convertitore dell'associazione. In questo esempio, GetValue(Object, String) in genere restituisce un valore integer.

Nell'esempio seguente fa parte di un'applicazione che richiede all'utente di immettere più utenti e assegnare un rappresentante di vendita per ogni cliente. L'applicazione controlla che il rappresentante di vendita e il cliente appartengano alla stessa area. Nell'esempio viene illustrato il Validate metodo che utilizza il GetValue(Object, String) per ottenere i valori immessi dal cliente.

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());
        }
    }
}

.NET Framework
Disponibile da 3.0
Torna all'inizio
Mostra: