考虑这段代码:
XAML:
<Grid x:Name="LayoutRoot">
<Border x:Name="brd1" Height="100" Width="100" Background="Blue"
MouseLeftButtonUp="brd1_MouseLeftButtonUp"
MouseLeave="brd1_MouseLeave" />
</Grid>
C#:
private void brd1_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
brd1.Visibility = System.Windows.Visibility.Collapsed;
}
private void brd1_MouseLeave(object sender, MouseEventArgs e)
{
MessageBox.Show("Mouse Leave");
}
为什么设置Visibility = Collapsed时MouseLeave不会触发(即:当我点击边框时)?
即使控件消失(或其父节点之一),有没有办法始终捕获MouseLeave事件?我无法收听MouseButtonUp事件,因为我的控件可以随时异步显示/消失。
(注意:我的应用程序要复杂得多,这只是我需要做的一个简单示例)