WPF:通过将鼠标拖过多个按钮来切换多个按钮

WPF:通过将鼠标拖过多个按钮来切换多个按钮

问题描述:

是否可以通过将鼠标拖到多个按钮上(通过按住鼠标左键)来切换多个ToggleButton的状态?WPF:通过将鼠标拖过多个按钮来切换多个按钮

<ToggleButton Content="ToggleButton" MouseEnter="ToggleButtonMouseEnter" Width="80" HorizontalAlignment="Left"/> 

private void ToggleButtonMouseEnter(object sender, MouseEventArgs e) 
{ 
    System.Windows.Controls.Primitives.ToggleButton tb = (System.Windows.Controls.Primitives.ToggleButton)sender; 
    if(e.LeftButton == MouseButtonState.Pressed) tb.IsChecked = !tb.IsChecked; 
} 

框中没有任何东西可以支持此操作,但您应该能够订阅MouseMove并在按下按钮时切换状态。

+0

谢谢。但是当我点击一个ToggleButton并拖到下一个Button时,第二个Button不会收到MouseMove-Event。也许是因为第一个Button“捕捉”了事件? – user1130329 2013-02-08 17:40:30

+0

@ user1130329是的 - 如果你点击按钮,你需要自己处理 - 按钮默认捕获鼠标,所有事件都会发生在第一个按钮上。在这种情况下,您可能需要跟踪鼠标移动。 – 2013-02-08 17:42:04

+0

愚蠢的问题:那么我该如何追踪mousemove? – user1130329 2013-02-08 17:46:17