2013-02-08 53 views

回答

0
<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; 
} 
0

框中没有任何东西可以支持此操作,但您应该能够订阅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