我在我的应用程序中使用了带有三个子项的RibbonSplitButton。 当我一直点击按钮时,我开始一个程序,当按钮被释放时我停止。问题是RibbonSplitButton不会触发任何事件(事件发生点击异常)。 RibbonMenuItem也应该完成同样的工作。 这是我的代码: 的 XAML
<ribbon:RibbonSplitButton LargeImageSource="images/move.png"
Label="Muovi"
//incriminated methods
MouseLeftButtonDown="Movimento_StartContinuous"
MouseDown="Movimento_StartContinuous"
MouseLeftButtonUp="Movimento_StopContinuous"
TouchUp="Movimento_StopContinuous"
TouchDown="Movimento_StartContinuous"
//yeah, this work well
Click="Movimento_StartContinuous">
<ribbon:RibbonMenuItem Header="Veloce"
//incriminated methods
MouseLeftButtonDown="Movimento_StartContinuous_Veloce"
MouseLeftButtonUp="Movimento_StopContinuous" />
<ribbon:RibbonMenuItem Header="Normale"/>
<ribbon:RibbonMenuItem Header="Lento"/>
</ribbon:RibbonSplitButton>
代码背后
private void Movimento_StartContinuous(object sender, RoutedEventArgs e) {
//never go here
e.Handled = true;
}
private void Movimento_StartContinuous(object sender, System.Windows.Input.TouchEventArgs e) {
//never go here
e.Handled = true;
}
我犯了哪个错误?
答案 0 :(得分:1)
最顶层的元素可能是吞下这些事件(你也可以通过将e.Handled
设置为true
来吞下它们,但是这些处理程序永远不会像你说的那样被调用。) 。您可以尝试处理预览事件(PreviewMouseLeftButtonDown
,PreviewTouchDown
)。
注意:并非每个事件都有预览版本。大多数与输入相关的事件都有预览版本,但例如Click
事件没有。