So habe ich eine Funktion innerhalb einer Taste, die ich so schnell auslösen wollen, wie meine Anwendung startet, und ich tue es durch diese:Taste auf App starten
public partial class App : Application
{
private void App_OnStartup(object sender, StartupEventArgs e)
{
//get button reference
Button btn = ((MainWindow)Current.MainWindow).btnJSON;
//programmatically simulate button click
ButtonAutomationPeer peer =
new ButtonAutomationPeer(btn);
IInvokeProvider invokeProv =
peer.GetPattern(PatternInterface.Invoke)
as IInvokeProvider;
invokeProv.Invoke();
}
}
Dies führt jedoch zu a nullReferenceExeption
. Wie erreiche ich das, d. H. Die Funktion in der App stratup aufrufen oder den Buttonklick simulieren? Hier
ist die Schaltfläche Signatur:
public void btnJSON_Click(object sender, RoutedEventArgs e)
{
...
}
Dank.
Ich habe keine Ahnung, was in diesem ersten Codeblock passiert. Allerdings können Sie in WPF einen Klick auf eine Schaltfläche mit 'RaiseEvent' simulieren. Schau mal hier: http://stackoverflow.com/questions/4734482/button1-performclick-in-wpf – pay
hat den Code für bessere Lesbarkeit kommentiert. –
Nein, ich konnte es lesen, ich meinte nur, es ist sehr verworren. Sie benötigen nur eine einzige Linie, um den Klick der Schaltfläche zu simulieren. Ich kann jedoch auch vorschlagen, dass es bei der Simulation einer Schaltfläche auf Start klicken, um einige Operationen auszuführen, es viel sinnvoller wäre, diese Operation beim Start einfach auszuführen, anstatt diese Operation mit einem simulierten Mausklick zu starten. – pay