WPF проходит объект привязки родительского привязки к преобразователю

StackOverflow https://stackoverflow.com/questions/4335068

Вопрос

У меня есть элементы контроля, которые связаны с коллекцией студента типа. Внутри ItemTemplate у меня есть текстовое поле, которое использует ivalueconverter, чтобы сделать некоторые пользовательские расчеты и логику. Я хочу передать фактический объект студента в конвертер Value, вместо этого свойство. Как я могу это сделать? Вот образец моего кода.

 <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;
        }
} 
Это было полезно?

Решение

Вы можете просто оставить путь. Таким образом, вы попадаете на фактический объект, связанный с.

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

Или если вы хотите быть явным по этому поводу:

<TextBlock Text="{Binding Path=., Converter={StaticResource MyConverter}}"/>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top