【发布时间】:2018-06-18 18:34:16
【问题描述】:
我有一个 带有两个选项卡的功能区,其中一个选项卡包含一个列表框,其中包含自动生成的内容。
我希望鼠标滚轮可以滚动列表框内容,并尝试了很多方法,但鼠标滚轮只能切换功能区选项卡。
以下是我尝试过的一种解决方案,我尝试从功能区释放鼠标控件并将其提供给 ListBox,但到目前为止我还没有成功。有没有合适的方法来做到这一点?我错过了什么吗?
xml
<Ribbon Name="ribbonMain">
<RibbonTab Header="Home">
<RibbonGroup Header="Employees" Width="200">
<ListBox x:Name="empListBox" ItemsSource="{Binding SelectedEmployees}"
Width="180"
MouseEnter="empListBox_MouseEnter"
MouseLeave="empListBox_MouseLeave">
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding Path=FirstName}" IsChecked="{Binding IsChecked}"></CheckBox>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</RibbonGroup>
xaml.cs
private void empListBox_MouseEnter(object sender, MouseEventArgs e)
{
if (sender is ListBox)
{
ribbonMain.ReleaseMouseCapture();
((ListBox)sender).CaptureMouse();
}
}
private void empListBox_MouseLeave(object sender, MouseEventArgs e)
{
((ListBox)sender).ReleaseMouseCapture();
ribbonMain.CaptureMouse();
}
【问题讨论】:
标签: c# wpf xaml listbox mousewheel