WPF passare genitore oggetto di associazione al convertitore
-
30-09-2019 - |
Domanda
Ho ItemsControl che è destinata alla raccolta di tipo Student. All'interno del ItemTemplate ho un TextBox che utilizza IValueConverter di fare alcuni calcoli personalizzati e la logica. Voglio passare l'oggetto Student reale al convertitore di valori, invece che una proprietà di esso. Come posso fare ciò? Ecco un esempio del mio codice.
<ItemsControl ItemsSource="{Binding StudentList}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
<TextBlock Text="{Binding ????, Converter={StaticResource MyConverter}}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Nel codice ho questo
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;
}
}
Soluzione
Si può solo lasciare fuori il percorso. In questo modo si ottiene l'oggetto vero e proprio legato a.
<TextBlock Text="{Binding Converter={StaticResource MyConverter}}"/>
o se si vuole essere esplicito in proposito:
<TextBlock Text="{Binding Path=., Converter={StaticResource MyConverter}}"/>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow