2010-12-02 89 views
21

我有ItemsControl綁定到Student類型的集合。 ItemTemplate裏面我有一個TextBox,它使用IValueConverter來做一些自定義的計算和邏輯。我想將實際的Student對象傳遞給值轉換器,而不是它的一個屬性。我怎樣才能做到這一點?這是我的代碼示例。WPF將父級綁定對象傳遞給轉換器

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

在代碼中我有這樣的

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

回答

34

你可以只離開了路徑。這樣你就可以獲得綁定的實際對象。

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

,或者如果你想明確一下:

<TextBlock Text="{Binding Path=., Converter={StaticResource MyConverter}}"/> 
+3

謝謝你,我會去,現在我難堪。 – 2010-12-02 12:49:17