Pregunta

Tengo ItemsControl que se une a la colección del tipo de estudiante. Dentro de la ItemTemplate tengo un cuadro de texto que utiliza IValueConverter hacer algunos cálculos y la lógica personalizados. Quiero pasar el objeto real de los estudiantes al convertidor de valores, en lugar de una propiedad de la misma. ¿Cómo puedo hacer eso? He aquí una muestra de mi código.

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

En el código que tengo este

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;
        }
} 
¿Fue útil?

Solución

Sólo se puede dejar de lado el camino. De esta manera se obtiene en el objeto real con destino a.

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

o si quieres ser explícita al respecto:

<TextBlock Text="{Binding Path=., Converter={StaticResource MyConverter}}"/>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top