我有一個列表框有幾個項目,到時候沒有滾動條上出現的一切ItemContainerGenerator返回null順利完美罰款,但一旦談到滾動然後ItemContainerGenerator返回null。列表框即使列表已物品
我讀了一些博客,發現它可能是因爲vertualization的StackPanel的。如果我禁用,那麼它可能會工作,但在我的情況下,它會使列表框太重,效率不高。
這裏是列表框代碼:
<ListBox x:Name="EventListBox"
DockPanel.Dock="Top"
Margin="5,5,5,5"
FocusVisualStyle="{x:Null}"
ItemsSource="{Binding EventModelViewCollectionView}"
Style="{StaticResource DefaultListBoxStyle}"
ItemTemplate="{StaticResource EventTemplate}"
SelectedItem="{Binding EventModelViewCollection.SelectedItem}"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True"
ScrollViewer.IsDeferredScrollingEnabled="False"
ScrollViewer.ScrollChanged="EventScrollViewer_ScrollChanged"
IsSynchronizedWithCurrentItem="True"
Loaded="ListBox_Unloaded">
返回null。
這裏firstContainer應該是第一個列表框元素。我驗證了itemsControl是正確的,並且當firstContainer爲null時它有項目。
DependencyObject firstContainer = itemsControl.ItemContainerGenerator.ContainerFromIndex(0);
一個相當多注意到的事情: 我看到這兒有8個列表框項的ItemsControl。 ItemContainerGenerator狀態是* 集裝箱生成*
不知道爲什麼它沒有返回ItemsContainer 思考?
我已經通過以下鏈接:http://drwpf.com/blog/2008/07/20/itemscontrol-g-is-for-generator/ – Rohit 2011-04-20 11:45:21