2013-02-08 74 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