Question

Je ItemsControl qui est lié à la collecte de type étudiant. A l'intérieur du ItemTemplate je une zone de texte qui utilise IValueConverter pour faire des calculs personnalisés et la logique. Je veux passer le véritable objet de l'étudiant au convertisseur de valeur, au lieu d'une propriété de celui-ci. Comment puis je faire ça? Voici un exemple de mon code.

 <ItemsControl ItemsSource="{Binding StudentList}">
                            <ItemsControl.ItemTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Name}" />
                                    <TextBlock Text="{Binding ????, Converter={StaticResource MyConverter}}" />
                                </DataTemplate>
                            </ItemsControl.ItemTemplate>
 </ItemsControl>

Dans le code que j'ai cette

public class MyValueConverter : IValueConverter
{
      public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            // I want 'value' to be of type Student.
            return null;
        }
} 
Était-ce utile?

La solution

Vous pouvez laisser le chemin. De cette façon, vous obtenez à l'objet réel lié à.

<TextBlock Text="{Binding Converter={StaticResource MyConverter}}"/>

ou si vous voulez être explicite à ce sujet:

<TextBlock Text="{Binding Path=., Converter={StaticResource MyConverter}}"/>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top