Я смущен относительно того, как привязки разрешаются, когда у меня есть как ItemsSource
, так и ItemTemplate
в WPF ListBox
.WPF ListBox с использованием ItemsSource и ItemTemplate
У меня есть ObservableCollection<int>
под названием ListOfIndexes
. Для каждого индекса я хочу посмотреть его запись в таблице базы данных. Я надеюсь сделать это в IndexToObjectDescriptionConverter
.
<ListBox ItemsSource="{Binding ListOfIndexes}"
ItemTemplate="{Binding Converter={StaticResource IndexToObjectDescriptionConverter}}" />
Но контрольная точка в преобразователе говорит мне, что значение читается в по ItemTemplate
связывания окна сам — т.е. DataContext
из ItemsSource
и ItemsTemplate
то же самое.
Простите немного откровенности, но это кажется DUMB. Вся точка ItemTemplate
состоит в том, чтобы отображать каждый элемент в пределах ItemsSource
, поэтому, я думаю, я понял, что DataContext
ItemTemplate
будет отдельным визуализируемым элементом.
Итак, как я могу сообщить ItemTemplate
, что он должен беспокоиться об отдельных элементах, представленных ItemsSource
, а не использовать все окно DataContext
?
Perfect. Наверное, я не понимал, что «DataTemplate» в «ItemTemplate» правильно идентифицирует контекст данных, тогда как простое связывание с «ItemTemplate» использует область управления. Благодаря! – Tenner