我有一张图片,在点击该图片时显示一个删除按钮。我需要的是删除按钮在图像具有LostFocus时消失。 通常,例如说一个文本框,我只会使用类似以下的内容。
tb.LostFocus += tbOnLostFocus;
private void tbOnLostFocus(object sender, RoutedEventArgs e)
{
delBtn.Visibility = Visibility.Collapsed;
}
我的问题是,同一代码没有在图像上触发。我隐约记得前段时间曾读到LostFocus事件不会在图像上触发,因为它不是可聚焦的元素。不确定我的记忆是否正确,因为我现在找不到对它的引用。
有没有人找到合适的解决方法或设法达到类似的结果?
答案 0 :(得分:1)
您可以使用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);
}