我有這種風格禁用事件:冒泡
<Style TargetType="{x:Type Expander}">
<Setter Property="BorderBrush" Value="LightGray"/>
<Setter Property="Margin" Value="5"/>
<EventSetter Event="Mouse.MouseEnter" Handler="ExpanderMouseEnter"/>
<EventSetter Event="Mouse.MouseLeave" Handler="ExpanderMouseLeave"/>
</Style>
當我添加一個擴展爲一個孩子的膨脹和鼠標懸停孩子擴展,兩個膨脹的被灰色。我怎樣才能設置e.handled =真正的事件冒泡停止嗎?
編輯:好吧,所以我不得不編輯樣式來調用代碼隱藏方法。下面是方法:
Private Sub ExpanderMouseEnter(ByVal sender As Expander, ByVal e As MouseEventArgs)
sender.Background = Brushes.LightGray
e.Handled = True
End Sub
Private Sub ExpanderMouseLeave(ByVal sender As Expander, ByVal e As MouseEventArgs)
sender.Background = Brushes.White
e.Handled = True
End Sub
但是沒有什麼變化。什麼問題?
這適用於HeaderedContentControls,但更一般的情況下,IsMouseDirectlyOver的這個問題會發生在任意嵌套控件(例如按鈕內的Button)上嗎? –
請參閱我的編輯。 –