Question

Est-il possible de lier une valeur à un bloc de texte qui est obtenu à partir d'un procédé. Par exemple, je passe mon objet Personne dans le HierarchicalDataTemplate, à partir de là, je peux accéder à sa propriété de poids. Maintenant, supposons que je veux obtenir le poids en mars, j'appeler la méthode InMars qui prend un paramètre int EarthWeight. Il est maintenant earthweight va changer de personne à personne, comment ce paramètre peut être réglé à chaque fois?

Était-ce utile?

La solution

La meilleure façon de le faire est avec un convertisseur.

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

Ensuite, il vous suffit de mettre en place la liaison.

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

{Binding Path=Weight, Converter={StaticResource weightOnMars}}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top