dro*_*py6 7 wpf combobox listbox itemtemplate mousewheel
我在ListBox中使用ComboBox作为ItemTemplate.我的ComboBox是可编辑的.当用户在组合框中使用鼠标滚轮时,它会改变当前值.我不希望这样.我想要ListBox滚动.这有什么解决方案吗?我发现的大多数示例都只基于一个只读的ComboBox.似乎我找不到任何解决方案.覆盖OnMouseWheel设置isHandled = true不起作用似乎事件在其他地方处理.我试图在我的ComboBox的ControlTemplate使用的TextBox中覆盖OnMouseWheel但没有成功.
有任何想法吗 ?
好吧,我的错误,我将PreviewMouseWheel放在我的ItemTemplate的错误UIElement上.这是有效的:
private void myCombo_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
{
e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)
尽管如此,"parentListBox.RaiseEvent(args);" 不起作用.
小智 1
我用以下方法解决了一次类似的问题:
WPF:
<ComboBox MouseWheel="ComboBox_MouseWheel"/>
Run Code Online (Sandbox Code Playgroud)
C#:
private void ComboBox_MouseWheel(object sender, MouseWheelEventArgs e)
{
e.Handled = true;
MouseWheelEventArgs args = new MouseWheelEventArgs(e.MouseDevice, e.Timestamp, e.Delta);
args.RoutedEvent = UIElement.MouseWheelEvent;
args.Source = sender;
parentListBox.RaiseEvent(args);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2794 次 |
| 最近记录: |