Das ist also die Frage. Ich habe die folgenden Varianten von Code in meinem Test-Framework (vorausgesetzt appBarButton ist ApplicationBarIconButton):Wie programmgesteuert auf ein ApplicationBarIconButton klicken?
var bindingFlags = BindingFlags.Instance | BindingFlags.NonPublic;
var method = typeof(ApplicationBarIconButton)
.GetMethod("ClickEvent", bindingFlags);
if (method != null)
{
method.Invoke(appBarButton, null);
}
oder
IInvokeProvider invokableButton;
var isInvokable = (invokableButton = appBarButton as IInvokeProvider) != null;
if (isInvokable)
{
invokableButton.Invoke();
}
Beide Stücke sind nicht funktioniert. Daher möchte ich einige Problemumgehungen finden, um programmgesteuert auf ApplicationBarIconButton zu klicken. Irgendeine Hilfe?
Sorry, aber ich verstehe den Grund für einen Klick programmgesteuert nicht. Warum heben Sie nicht die Ereignis- oder Call-de-Methode auf, die vom Click-Event aufgerufen wird? – rubenfa
Ich möchte das bestehende Test-Framework ([link] (https://github.com/Expensefy/WindowsPhoneTestFramework)) erweitern, um einige Schritte zu automatisieren. Dieses Framework scheint sich in einigen Fällen falsch zu verhalten, in denen AppBar beteiligt ist. –
Ah, ok ich habe verstanden. Ich weiß nicht, ob das möglich ist, weil AppBar durch die PhoneApplicationPage-Klasse verfügbar gemacht und von der Phone Shell verwaltet wird. – rubenfa