我在使用包含ItemsControl的我的堆栈面板周围的scrollviewer控件。当ItemsControl中有很多项目时,它应该滚动,但由于某种原因,它只是削减了项目。下面是代码:ScrollViewer无法在WPF中滚动
<StackPanel>
<ScrollViewer CanContentScroll="True" VerticalScrollBarVisibility="Visible">
<ItemsControl Name="icEvents" Width="Auto" Height="100" Background="AliceBlue"
ItemsSource="{Binding Path=EventSources}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="Source:"/>
<TextBlock Text="{Binding Path=Source}" />
<TextBlock Text="Original Source:"/>
<TextBlock Text="{Binding Path=OriginalSource}" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
</StackPanel>
这是没有必要有一个scrollviwer,在讨论的问题是StackPanel的。 – 2009-07-15 18:16:26
但是,您需要某个ScrollViewer,因为默认情况下ItemsControl不会滚动。我已经使用这个代码,它的工作原理,虽然你的答案也可能工作。 – Andy 2009-07-15 18:18:44
是的,你的代码也可以工作,只有当他移除外层StackPanel时,它并不重要,你在ControlTemplate内部或ItemsControl外部的滚动条都几乎相同。 – 2009-07-15 18:22:15