Событие LostFocus изображения не запускается - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть изображение, которое отображает кнопку удаления при нажатии.Что мне нужно, чтобы кнопка удаления исчезла, когда изображение имеет LostFocus.Обычно, например, для текстового поля, я бы просто использовал что-то вроде следующего:

tb.LostFocus += tbOnLostFocus;

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

Моя проблема в том, что тот же код просто не запускается на изображении.Я смутно помню, как читал где-то недавно, что события LostFocus не будут срабатывать на изображении, поскольку оно не является фокусируемым элементом.Не уверен, что моя память верна, так как я не могу найти ссылку на нее сейчас.

Кто-нибудь нашел подходящий обходной путь или сумел достичь аналогичного результата?

1 Ответ

0 голосов
/ 20 декабря 2018

Вы можете достичь этого, используя 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);
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...