Bonjour à tous,
Je ne sais pas si ce que j'essaye de faire est propre/faisable mais je me tire bien les cheuveux
J'ai une application Winform, et le temps de chargement approchant les 10 secondes pour charger mes données, scanner mon AD etc... je voudrais mettre en place un écran de chargement.
J'ai créé ma fenêtre WPF en designer et j'aimerai l'instancier dans un nouveau thread :
Lorsque mon thread secondaire affiche mon splashscreen grâce à Window.Show() elle apparait et disparait instantanemment.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 // Fonction qui affiche mon splashscreen private void affichesplash() { splashscreen = new System.Windows.Window { Title = "Chargement", Content = new Appli.Forms.UserControl1(), Width = 650, Height = 306, Visibility = System.Windows.Visibility.Visible, WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen }; splashscreen.Activate(); } // Appel du thread System.Threading.Thread threadsplash = new System.Threading.Thread(affichesplash); threadsplash.SetApartmentState(System.Threading.ApartmentState.STA); threadsplash.Name = "load_appli"; threadsplash.Start();
J'ai cherché sur le net et la réponse proposée est d'utiliser Application.run(splashscreen) or cette fonction n'autorique que des forms et non des Windows.Window.
Des idées ?
Merci de vos réponses et de votre lecture.
Partager