Meilleur auteur de réponses
Creer un splash screen dynamic sans xaml ?

Question
-
Réponses
-
Normalement sans un minimum de xaml ce ne sera pas possible.
- Marqué comme réponse saritaWindowsPhone mardi 16 août 2011 16:19
-
et vu que tu ne veux vraiment pas de XAML :
private Grid Splash; public MainPage() { InitializeComponent(); this.Loaded+=MainPage_Loaded; Splash = new Grid(); var image = new Image() { Source = new BitmapImage(new Uri("/SplashScreenImage.jpg", UriKind.Relative)), Stretch = Stretch.Fill }; var progress = new ProgressBar() { IsIndeterminate = true, VerticalAlignment = System.Windows.VerticalAlignment.Center, Height = 4 }; Splash.Children.Add(image); Splash.Children.Add(progress); this.LayoutRoot.Children.Add(Splash); } et plus loin : void MainPage_Loaded(object sender, RoutedEventArgs e) { this.Splash.Visibility=Visibility.Collapsed; }
(en supposant que ton élément principal s'appelle LayoutRoot)
S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue- Marqué comme réponse saritaWindowsPhone mercredi 17 août 2011 11:09
Toutes les réponses
-
Bonjour,
Oui c'est possible, il suffit juste d'avoir une image nommée SplashScreenImage.jpg (normalement présente lorsque l'on crée un projet de base, la fameuse image avec "l'horloge") et la glisser dans la racine du projet :)
Quand l'image est présente, elle est automatiquement utilisée pour le splash screen. -
-
Normalement sans un minimum de xaml ce ne sera pas possible.
- Marqué comme réponse saritaWindowsPhone mardi 16 août 2011 16:19
-
Il faut un peu de xaml, mais c'est super simple Sarita, juste un copier coller et c'est bon :
Il faut donc dans ta première page rajouter le bloc suivant
<Grid x:Name="Splash" > <Image Source="/SplashScreenImage.jpg" Stretch="Fill"/> <StackPanel Margin="0,400,0,0" VerticalAlignment="Top" > <ProgressBar Height="4" Foreground="#FFFF00D2" IsIndeterminate="True"/> <TextBlock Text="Chargement en cours..." Foreground="White" TextAlignment="Center"/> </StackPanel> </Grid>
Rajoute ca le plus bas possible dans ton code, genre :
<phone:PhoneApplicationPage .... > <Grid> <Grid x:Name="Page"> //ici le contenu de ta page </Grid> <Grid x:Name="Splash"> <Image Source="/SplashScreenImage.jpg" Stretch="Fill"/> <StackPanel Margin="0,400,0,0" VerticalAlignment="Top" > <ProgressBar Height="4" Foreground="#FFFF00D2" IsIndeterminate="True"/> <TextBlock Text="Chargement en cours..." Foreground="White" TextAlignment="Center"/> </StackPanel> </Grid> </Grid> </phone:PhoneApplicationPage>
Il fait le mettre le plus bas possible pour qu'elle soit affiché par dessus les autres éléments.
il suffit enfin de se brancher sur l'évènement Loaded de ta page puis cacher la fausse splash :
dans le constructeur de la page MainPage() { this.Loaded+=MainPage_Loaded; } et plus loin : void MainPage_Loaded(object sender, RoutedEventArgs e) { .... this.Splash.Visibility=Visibility.Collapsed; }
S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue
-
et vu que tu ne veux vraiment pas de XAML :
private Grid Splash; public MainPage() { InitializeComponent(); this.Loaded+=MainPage_Loaded; Splash = new Grid(); var image = new Image() { Source = new BitmapImage(new Uri("/SplashScreenImage.jpg", UriKind.Relative)), Stretch = Stretch.Fill }; var progress = new ProgressBar() { IsIndeterminate = true, VerticalAlignment = System.Windows.VerticalAlignment.Center, Height = 4 }; Splash.Children.Add(image); Splash.Children.Add(progress); this.LayoutRoot.Children.Add(Splash); } et plus loin : void MainPage_Loaded(object sender, RoutedEventArgs e) { this.Splash.Visibility=Visibility.Collapsed; }
(en supposant que ton élément principal s'appelle LayoutRoot)
S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue- Marqué comme réponse saritaWindowsPhone mercredi 17 août 2011 11:09
-
-
justement, ma dernier proposition n'a pas de xaml :D
Juste pour info car c'est assez étrange, pourquoi ne peux tu pas toucher au xaml ?
S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue -