图像的丢失焦点事件未触发



我有一个图像,点击时会显示一个删除按钮。我需要的是当图像有LostFocus时删除按钮消失。通常,比如说一个文本框,我只会使用以下内容。

tb.LostFocus += tbOnLostFocus;
private void tbOnLostFocus(object sender, RoutedEventArgs e)
{
delBtn.Visibility = Visibility.Collapsed;
}  

我的问题是,相同的代码不会在图像上启动。我隐约记得不久前在某个地方读到LostFocus事件不会在图像上触发,因为它不是可聚焦元素。不确定我的记忆是否正确,因为我现在找不到它的参考资料。

是否有人找到了合适的解决方法或设法取得了类似的结果?

您可以通过使用MenuFlyout来实现这一点。点击图像后,它将显示删除按钮。如果指针被点击除点击删除按钮以外的任何位置,它将被折叠

<Image Source="ms-appx:///Assets/1.jpg" Tapped="Image_Tapped">
<Image.Resources>
<MenuFlyout x:Name="DeleteMenuFlyout">
<MenuFlyout.Items>
<MenuFlyoutItem x:Name="delete"  Click="Delete_Click"   Text="Delete" />
</MenuFlyout.Items>
</MenuFlyout>
</Image.Resources>
</Image>

//C#

private void Image_Tapped(object sender,TappedRoutedEventArgs e)
{
DeleteMenuFlyout.ShowAt(sender as FrameworkElement);
}

相关内容

  • 没有找到相关文章

最新更新