Frage

Ich habe Itemscontrol, die Sammlung von Art Studenten gebunden ist. Im Inneren des ItemTemplate Ich habe eine TextBox, die IValueConverter verwendet einige benutzerdefinierte Berechnungen und Logik zu tun. Ich möchte die tatsächlichen Studenten Objekt auf den Wert Konverter passieren, anstatt eine Eigenschaft davon. Wie kann ich das machen? Hier ist ein Beispiel von meinem Code.

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

Im Code Ich habe diesen

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;
        }
} 
War es hilfreich?

Lösung

Sie können nur den Pfad auslassen. Auf diese Weise erhalten Sie an dem eigentlichen Objekt gebunden.

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

oder wenn Sie wollen explizit darüber sein:

<TextBlock Text="{Binding Path=., Converter={StaticResource MyConverter}}"/>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top