我有一个标签,其鼠标悬停事件会打开一个弹出窗口。
我正在尝试处理弹出窗口上的 mouseleave 事件并关闭弹出窗口。
我遇到的问题是 mouseleave 事件直到我单击弹出窗口外的任何位置才被触发。
有人可以告诉我我做错了什么吗?
这是代码。
XAML:
<Popup Name="myPopup" IsOpen="False" PlacementTarget="{Binding ElementName=myButton}" StaysOpen="False" MouseLeave="myPopup_MouseLeave">
<DataGrid MinHeight="400" MinWidth="300" Name="dtgPopup" AutoGenerateColumns="False" ItemsSource="{Binding}" SelectionChanged="dtgPopup_SelectionChanged" IsReadOnly="True" CanUserAddRows="False">
</DataGrid>
</Popup>
<Label Name="recentPanels" Content="Recent Panels" MouseEnter="recentPanels_MouseEnter"/>
事件处理程序:
private void recentPanels_MouseEnter(object sender, MouseEventArgs e)
{
myPopup.IsOpen = true;
}
private void myPopup_MouseLeave(object sender, MouseEventArgs e)
{
myPopup.IsOpen = false;
}