简体   繁体   English

覆盖as ScrollViewer的自定义事件处理程序

[英]Overwriting custom event handler of as ScrollViewer

I am trying to overwrite a event handler of MouseWheel for a ScrollViewer. 我正在尝试为ScrollViewer覆盖MouseWheel的事件处理程序。 Since ScrollViewer is sealed, I cant simply create a "custom" class inheriting it. 由于ScrollViewer是密封的,因此我不能简单地创建一个继承它的“自定义”类。 I guess the generic question would be: "How do I overwrite the default event." 我猜一般的问题是:“如何覆盖默认事件。” (Or something like that ;-)) (或类似的东西 ;-))

Edit: The event which should replace the default "scroll" only gets fired when the ScrollViewer can't be scrolled or reaches a limit. 编辑:仅当ScrollViewer无法滚动或达到限制时才触发应替换默认“ scroll”的事件。

Since ScrollViewer is sealed it will be difficult to override its behavior. 由于ScrollViewer是密封的,因此很难覆盖其行为。 The ScrollChanged event only provides readonly information and can not be canceled. ScrollChanged事件仅提供只读信息,无法取消。 You might have to implement your own scroll viewer derived from ContentControl instead. 您可能必须实现从ContentControl派生的自己的滚动查看器。 What scroll behavior are you trying to implement? 您要实现什么滚动行为?

在事件处理程序中,在返回之前,将MouseWheelEventArgs参数的Handled属性设置为true

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM