Mam problem. W tworzonej aplikacji korzystam z takiej metody wyświetlania menu kontekstowego:
var element = e.OriginalSource as FrameworkElement;
var flyoutBase = FlyoutBase.GetAttachedFlyout(element) as MenuFlyout;
var tappedElement = e.OriginalSource as UIElement;
flyoutBase.ShowAt(element, e.GetPosition(tappedElement));
Menu to jest wywoływane przy evencie RightTapped. Event działa za każdym razem po kliknięciu w element, no chyba, że przesunę myszką po nim klikając PPM, wtedy nie działa, ale to normalne. Problem polega na tym, że nawet jak kliknę PPM jak należy, to raz się pojawi menu, a raz nie. Po prostu powyższa metoda nie działa zawsze, a jedynie czasami podczas realizacji kodu. O dziwo częściej działa gdy dłużej przytrzymam PPM, ale to też nie jest reguła. Z tej metody korzystałem na starszej wersji programu i działa bez problemu za każdym razem z tą różnicą, że ona ma maksymalną wersję systemu w kompilacji 17134, a nowa wersja aplikacji już najnowszą.
Coś się zmieniło w nowej wersji i powyższa metoda wyświetlania menu jest nieaktualna, bo zmiana starej wersji programu na obecną kompilację, to potwierdza. Stary program wówczas też ma z tym problem, ale nie na wcześniejszej kompilacji.
Ktoś ma pomysły jak to naprawić?
EDIT: Po tygodniu znalazłem rozwiązanie tego buga.
flyoutBase.ShowAt(element); //To fix bug
flyoutBase.ShowAt(element, e.GetPosition(tappedElement));
Wywołanie .ShowAt z samym elemntem UI wewnątrz przed, a dopiero potem z pozycjonowaniem sprawia, że błąd nie występuje wcale.