Pergunta

Existe alguma maneira de vincular um valor a um bloco de texto obtido de um método. Por exemplo, passo meu objeto de pessoa para o hierárquico Datatemplate, a partir daí, posso acessar sua propriedade de peso. Agora, digamos que eu queira obter o peso em Marte, eu chamaria o método Inmar que pega um parâmetro de Int Earthweight. Agora, o peso da terra muda de pessoa para pessoa, como esse parâmetro pode ser definido todas as vezes?

Foi útil?

Solução

A melhor maneira de fazer isso é com um conversor.

public class WeightOnMarsConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        // value will be the persons weight
    }
    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotSupportedException("This method should never be called");
    }
}

Então você só precisa configurar a ligação.

<l:WeightOnMarsConverter x:key="weightOnMars" /> <-- Add this to the resources

{Binding Path=Weight, Converter={StaticResource weightOnMars}}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top