需要使用擴展器來構建圖像瀏覽器,但是我有一些滾動問題。我有ItemsControl裏面的ListBox,滾動不起作用時,在ListBox上的鼠標。這裏是xaml:WPF滾動不能在ListBox裏面ItemsControl
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" Grid.Row="1" Background="{DynamicResource LightGrayBackgroundBrush}" >
<ItemsControl x:Name="itmsControl" DataContext="{Binding ElementName=_self}" ItemsSource="{Binding ImagesSource}" Margin="15" >
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid x:Name="grdIn">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" MinHeight="25"/>
<RowDefinition x:Name="grd1"/>
</Grid.RowDefinitions>
<Expander Grid.Row="1" IsExpanded="True" BorderThickness="0" Background="White">
<Expander.Header>
<Border Background="White" BorderBrush="White" Height="40">
<TextBlock Text="{Binding Date}" Background="White" FontSize="14" Foreground="Gray" FontWeight="Bold" VerticalAlignment="Center" Margin="10,0,0,0"/>
</Border>
</Expander.Header>
<ListBox ItemsSource="{Binding ImageList}" ItemContainerStyle="{DynamicResource ImageListBoxItemStyle}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" SelectionMode="Extended" Background="Transparent" SelectionChanged="ListBox_SelectionChanged" PreviewKeyDown="OnKeyDownHandler" MouseDown="ListBox_MouseDown" ScrollViewer.CanContentScroll="False">
<ListBox.ItemTemplate>
<DataTemplate>
<Image Stretch="UniformToFill" Width="{Binding Width}" Height="{Binding Height}" Source="{Binding Source}" Margin="3" MouseDown="Image_MouseDown"/>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel IsItemsHost="True" Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
</Expander>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
我添加PreviewMouseWheel到列表框: 私人無效ListBox_PreviewMouseWheel(對象發件人,MouseWheelEventArgs E) { mainScroll.ScrollToVerticalOffset(mainScroll.VerticalOffset - e.Delta); } 這是作品,謝謝Maulik :) –