2

Est-il possible de lier une valeur à un bloc de texte obtenu à partir d'une méthode. Par exemple, je passe mon objet Person dans le HierarchicalDataTemplate, à partir de là je peux accéder à sa propriété Weight. Maintenant disons que je veux avoir le poids dans Mars, j'appellerais la méthode InMars qui prend un paramètre de intWeight. Maintenant, le poids de la terre va changer de personne à personne, comment ce paramètre peut-il être réglé à chaque fois?WPF Liaison à une méthode avec un paramètre dans HierarchicalDataTemplate

Répondre

3

La meilleure façon d'y parvenir 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 configurer la liaison.

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

{Binding Path=Weight, Converter={StaticResource weightOnMars}} 
Questions connexes