none
Quitter à partir d'une page et image change au clic RRS feed

  • Question

  • Bonjour à vous,

    Comment je fais pour faire un boutton quittter a partir dune page ?

    Et comment je fais pour que l'image change pour un autre à la suite d'un clic ?

    Cordiallement


    mercredi 3 août 2011 15:01

Réponses

  • Bonjour ,

     

    Il y a trois cas, si vous êtes dans la MainWindow, vous êtes déjà sur une instance de cette MainWindow, donc inutile de faire :

    MainWindow main = new Mainwindow() // de plus dans votre cas sa plante car cette MainWindow est même pas ouverte

    Donc si vous êtes dans l'instance de la MainWindow vous avez juste à faire

    this.Close();
    

    Par contre si vous êtes sur l'instance de App vous pouvez fermer l'instance de MainWindow avec le code suivant :

    this.MainWindow.Close();
    

    Et pour finir si vous êtes ailleurs que sur App ou MainWindow, vous pouver fermer l'instance de MainWindow avec le code suivant :

     App.Current.MainWindow.Close();
    


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    • Marqué comme réponse Édouard vendredi 5 août 2011 15:02
    vendredi 5 août 2011 05:30
    Modérateur
  • Ou éventuellement http://msdn.microsoft.com/fr-fr/library/ms597013.aspx (App.Current.Shutdown).
    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    • Marqué comme réponse Édouard vendredi 5 août 2011 15:13
    vendredi 5 août 2011 08:30
  • Bonjour pour changer d'image sur le click, voici un petit exemple :

    <Grid>
        <Image Source="\image1.jpg" x:Name="img1" />
      </Grid>
    

    public partial class MainWindow : Window
      {
        /// <summary>
        /// Collection des images
        /// </summary>
        List<BitmapImage> images = new List<BitmapImage>();
    
        public MainWindow()
        {
          InitializeComponent();
          CreerCollectionImages();
          img1.MouseLeftButtonDown += new MouseButtonEventHandler(img1_MouseLeftButtonDown);
        }
    
        /// <summary>
        /// Initialisation des images de l'application
        /// </summary>
        private void CreerCollectionImages()
        {
          Uri uri1 = new Uri(@"\image1.jpg", UriKind.RelativeOrAbsolute);
          BitmapImage image1 = new BitmapImage(uri1);
          images.Add(image1);
          Uri uri2 = new Uri(@"\image2.jpg", UriKind.RelativeOrAbsolute);
          BitmapImage image2= new BitmapImage(uri2);
          images.Add(image2);
          Uri uri3 = new Uri(@"\image3.jpeg", UriKind.RelativeOrAbsolute);
          BitmapImage image3 = new BitmapImage(uri3);
          images.Add(image3);
        }
    
        private Int32 _iCompteur = 0;
    
        void img1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
          //Méthode permettant de parcourir les images et quand on est 
          //rendu à la dernière image on repasse à la première
          _iCompteur++;
          if (_iCompteur >= images.Count)
            _iCompteur = 0;
          img1.Source = images[_iCompteur];
          img1.UpdateLayout();
        }
      }
    

     

     


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    mercredi 3 août 2011 19:19
    Modérateur

Toutes les réponses

  • Bonjour pour changer d'image sur le click, voici un petit exemple :

    <Grid>
        <Image Source="\image1.jpg" x:Name="img1" />
      </Grid>
    

    public partial class MainWindow : Window
      {
        /// <summary>
        /// Collection des images
        /// </summary>
        List<BitmapImage> images = new List<BitmapImage>();
    
        public MainWindow()
        {
          InitializeComponent();
          CreerCollectionImages();
          img1.MouseLeftButtonDown += new MouseButtonEventHandler(img1_MouseLeftButtonDown);
        }
    
        /// <summary>
        /// Initialisation des images de l'application
        /// </summary>
        private void CreerCollectionImages()
        {
          Uri uri1 = new Uri(@"\image1.jpg", UriKind.RelativeOrAbsolute);
          BitmapImage image1 = new BitmapImage(uri1);
          images.Add(image1);
          Uri uri2 = new Uri(@"\image2.jpg", UriKind.RelativeOrAbsolute);
          BitmapImage image2= new BitmapImage(uri2);
          images.Add(image2);
          Uri uri3 = new Uri(@"\image3.jpeg", UriKind.RelativeOrAbsolute);
          BitmapImage image3 = new BitmapImage(uri3);
          images.Add(image3);
        }
    
        private Int32 _iCompteur = 0;
    
        void img1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
          //Méthode permettant de parcourir les images et quand on est 
          //rendu à la dernière image on repasse à la première
          _iCompteur++;
          if (_iCompteur >= images.Count)
            _iCompteur = 0;
          img1.Source = images[_iCompteur];
          img1.UpdateLayout();
        }
      }
    

     

     


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    mercredi 3 août 2011 19:19
    Modérateur
  • Pour ta 1ère question c'est une windows que tu veux fermer ou une page ?

    Si c'est une page, c'est une page qui se tient dans une frame ?


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    mercredi 3 août 2011 19:21
    Modérateur
  • Bin c plusieurs page et je veux fermer le windows la

     

    mercredi 3 août 2011 22:29
  • Donc pour fermer la fenêtre en cliquand sur un bouton.

    Il suffit juste de s'abonner à l'évènement click du bouton et d'appeler la méthode Close() de la fenêtre.

    Voici un petit exemple :

    <Grid>
        <Grid.RowDefinitions>
          <RowDefinition Height="*"/>
          <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <!--Frame possédant les pages pour naviguer-->
        <Frame x:Name="Maframe" Grid.Row="0"/>
        <Button x:Name="btnQuitter" Grid.Row="1" Content="Quitter"/>
      </Grid>
    

    public partial class MainWindow : Window
      {
        public MainWindow()
        {
          InitializeComponent();
          btnQuitter.Click += new RoutedEventHandler(btnQuitter_Click);
        }
    
        void btnQuitter_Click(object sender, RoutedEventArgs e)
        {
          //Fermeture de la fenêtre en cours
          this.Close();
        }
      }
    

     

     

     


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    jeudi 4 août 2011 04:46
    Modérateur
  • Justement, voila je suis dans une App.LaPage(); je ne peux pas utiliser cette fonction 
    jeudi 4 août 2011 18:37
  • Normal cette fonction s'utilise sur une classe héritant de window et non de App. Donc il faut l'appeler de MainWindow.

    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    jeudi 4 août 2011 19:09
    Modérateur
  • Biesur mais comment ? Jai déja essayer :

    Mainwindow Main = new MainWindow();

    Main.Close();

     

    Mais sa plentait                                                             

    vendredi 5 août 2011 00:23
  • Bonjour ,

     

    Il y a trois cas, si vous êtes dans la MainWindow, vous êtes déjà sur une instance de cette MainWindow, donc inutile de faire :

    MainWindow main = new Mainwindow() // de plus dans votre cas sa plante car cette MainWindow est même pas ouverte

    Donc si vous êtes dans l'instance de la MainWindow vous avez juste à faire

    this.Close();
    

    Par contre si vous êtes sur l'instance de App vous pouvez fermer l'instance de MainWindow avec le code suivant :

    this.MainWindow.Close();
    

    Et pour finir si vous êtes ailleurs que sur App ou MainWindow, vous pouver fermer l'instance de MainWindow avec le code suivant :

     App.Current.MainWindow.Close();
    


    Cordialement, Pascal.

    Développeur Wpf/SilverLight/WinPhone7

    • Marqué comme réponse Édouard vendredi 5 août 2011 15:02
    vendredi 5 août 2011 05:30
    Modérateur
  • Ou éventuellement http://msdn.microsoft.com/fr-fr/library/ms597013.aspx (App.Current.Shutdown).
    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    • Marqué comme réponse Édouard vendredi 5 août 2011 15:13
    vendredi 5 août 2011 08:30
  • Merci à vous !!! 

     

    Et je voudrais remercier votre aide ! Car grace a celle-ci jai pu progresser et, jai décidier de faire un DEC en programmation :D Donc en gros, cétait a 3e fois que je me remetait en programmation et cette fois je n'ai pas laché :) Merci infiniment !

     

    Meme si vous ne le lirez peut-etre jamais ceci, je tenais à le dire :D

    Ps: Jai 16 ans ;)

    vendredi 5 août 2011 15:07