Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WPF pass parent binding object to the converter

I have ItemsControl that is bound to collection of type Student. Inside the ItemTemplate I have a TextBox that uses IValueConverter to do some custom calculations and logic. I want to pass the actual Student object to the value converter, instead a property of it. How can I do that? Here's a sample of my code.

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

In the code I have this

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;         } }  
like image 906
Tomislav Markovski Avatar asked Dec 02 '10 12:12

Tomislav Markovski


1 Answers

You can just leave out the path. That way you get at the actual object bound to.

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

or if you want to be explicit about it:

<TextBlock Text="{Binding Path=., Converter={StaticResource MyConverter}}"/> 
like image 84
Botz3000 Avatar answered Oct 07 '22 17:10

Botz3000