图片的LostFocus事件未触发

时间:2018-12-20 12:28:04

标签: c# xaml uwp

我有一张图片,在点击该图片时显示一个删除按钮。我需要的是删除按钮在图像具有LostFocus时消失。 通常,例如说一个文本框,我只会使用类似以下的内容。

tb.LostFocus += tbOnLostFocus;

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

我的问题是,同一代码没有在图像上触发。我隐约记得前段时间曾读到LostFocus事件不会在图像上触发,因为它不是可聚焦的元素。不确定我的记忆是否正确,因为我现在找不到对它的引用。

有没有人找到合适的解决方法或设法达到类似的结果?

1 个答案:

答案 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);
   }