我使用了mahapps Metro框架,并且我试图启用鼠标滚轮来滚动项目列表。我做了研究,并成功地将滚动条添加到了ListBox中,并且当光标位于ScrollBar上时我可以进行滚动,但是当光标位于ListBox上时,我也希望能够使用鼠标滚轮。我尝试启用ScrollViewer.CanContentScroll =“ True”并使用带有代码的Mouse.MouseWheel事件,但两种解决方案均无效。我没有使用WPF或FrontEnd框架的经验,因此我非常感谢您的帮助。下面,我发布了到目前为止使用的代码。
XAML:
<ScrollViewer Name="DirectoriesViewer" Grid.Row="0" >
<ListBox MouseWheel="OnScrolling" Name="directories" HorizontalContentAlignment="Stretch" ScrollViewer.CanContentScroll="True" ScrollViewer.HorizontalScrollBarVisibility="Disabled" Mouse.MouseWheel="OnScrolling">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="3">
<DockPanel>
<!--TextBlock's etc..-->
</DockPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</ScrollViewer>
C#
private void OnScrolling(object sender, System.Windows.Input.MouseWheelEventArgs e)
{
if (e.Delta < 0)
{
DirectoriesViewer.LineDown();
}
else
{
DirectoriesViewer.LineUp();
}
}