Domanda

C'è un modo per associare un valore a una blocco di testo che si ottiene da un metodo. Ad esempio, mi passa il mio oggetto Person in HierarchicalDataTemplate, da lì posso accedere alla sua proprietà di peso. Ora lascia dire che voglio per ottenere il peso a Mars, vorrei chiamare il metodo InMars che prende un parametro di int EarthWeight. Ora earthweight sta per cambiare da persona a persona, come può questo parametro essere impostato ogni volta?

È stato utile?

Soluzione

Il modo migliore per farlo è con un convertitore.

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

Poi basta impostare l'associazione.

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

{Binding Path=Weight, Converter={StaticResource weightOnMars}}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top