Ich möchte eine Schaltfläche deaktivieren, sobald ein Benutzer darauf klickt, um sie erneut zu klicken. Es gibt eine Reihe von Überprüfungen, die ausgeführt werden, wenn sie darauf klicken, und es scheint, dass diese Überprüfungen durchgeführt werden, bevor die UI-Änderung stattfindet.Wie aktualisiere ich ein UI-Element in WPF, bevor ich den Rest einer Funktion verarbeite?
Ich versuche, dies zu tun, indem Sie einen separaten Thread für die Schaltfläche verwenden, aber es scheint immer noch nur nach den Überprüfungen zu aktualisieren.
Hier ist der Code ich verwende:
private void Button_Click(object sender, RoutedEventArgs e)
{
Thread t = new Thread(new ThreadStart(
delegate
{
Action action =() => btnStart.IsEnabled = false;
Dispatcher.BeginInvoke(action);
}
));
t.Start();
// Run the main routine;
BeginBootstrapping();
}
Wie kann ich den Knopf sofort deaktivieren?
Zuerst deaktivieren Sie die Schaltfläche wie üblich, dann führen Sie _the Rest_ auf Hintergrund Thread. Keine Notwendigkeit, die Schaltfläche im Hintergrund-Thread zu deaktivieren (es funktioniert nicht einmal). – Evk