當我在WPF ListBox
中同時使用ItemsSource
和ItemTemplate
時,我很困惑如何解決綁定問題。我有一個ObservableCollection<int>
ListOfIndexes
。對於每個索引,我想在數據庫表中查找它的記錄。我希望在IndexToObjectDescriptionConverter
這樣做。使用ItemsSource和ItemTemplate的WPF列表框
<ListBox ItemsSource="{Binding ListOfIndexes}"
ItemTemplate="{Binding Converter={StaticResource IndexToObjectDescriptionConverter}}" />
但在轉換器中的斷點告訴我,值由ItemTemplate
結合閱讀是窗口本身—即ItemsSource
和ItemsTemplate
的DataContext
是一樣的。
赦免了一點坦率,但這似乎是DUMB。 ItemTemplate
的整個點是呈現ItemsSource
內的每個元素,所以我想我認爲ItemTemplate
的DataContext
將是正在呈現的單個元素。
所以說,我該如何告訴ItemTemplate
它應該擔心由ItemsSource
代表的各個元素,而不是使用整個窗口的DataContext
?
完美。我想我沒有意識到'ItemTemplate'中的'DataTemplate'正確地標識了數據上下文,而只是使用'ItemTemplate'來定義綁定就使用了控件的作用域。謝謝! – Tenner