WPF Popup 点击事件
WPF Popup 没有单独的点击事件,但可以使用 MouseDown 或 PreviewMouseDown 事件来判断点击 Popup 的情况。
例如,可以在 XAML 中定义一个 Popup 和一个 Button,当点击 Button 时,Popup 显示出来。同时,可以在 Popup 上添加 PreviewMouseDown 事件,判断是否点击了 Popup。
XAML 代码:
<Grid>
<Button Content="Show Popup" Click="Button_Click"/>
<Popup x:Name="myPopup" PreviewMouseDown="myPopup_PreviewMouseDown">
<TextBlock Text="I am a Popup!" Background="LightGray" Width="150" Height="50" />
</Popup>
</Grid>
C# 代码:
private void Button_Click(object sender, RoutedEventArgs e)
{
myPopup.IsOpen = true;
}
private void myPopup_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
// 判断是否点击了 Popup
if (!VisualTreeHelper.HitTest(myPopup.Child, e.GetPosition(myPopup.Child)).Equals(null))
{
MessageBox.Show("You clicked the Popup!");
}
}
在 PreviewMouseDown 事件中,使用 VisualTreeHelper.HitTest 方法来判断是否点击了 Popup 中的元素。如果是,则认为点击了 Popup,弹出提示框。
原文地址: https://www.cveoy.top/t/topic/bTQ1 著作权归作者所有。请勿转载和采集!