IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Changer control image WPF depuis console


Sujet :

C#

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Changer control image WPF depuis console
    Bonjour à tous.
    D'abord j'espère que j'espère que j'ai pas posté où il faut pas ^^' et si je poste c'est parcque j'ai pas touvé ma reponse ailleurs(ou jai pas assez cherché).

    Voila je m'explique; je souhaite modifier un control d'une fenêtre WPF à partir d'une application console (C#).

    voici le code xaml.xs de ma fenetre WPF:

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    namespace Process_
    {
        /// <summary>
        /// Logique d'interaction pour Window1.xaml
        /// </summary>
        public partial class TestWindow : Window
        {
            public TestWindow()
            {
                InitializeComponent();
            }
     
     
            public void ChangeImage(string uri)
            {
                switch (uri)
                {
                    case "Vert":
                        image1.Source = chargeImage("buttonGreen.ico");
                        break;
     
                    default:
                        MessageBox.Show("erreur");
                        break;
                }
            }
     
     
            private System.Windows.Media.ImageSource chargeImage(string Uri)
            {
                // Create source.
                BitmapImage bi = new BitmapImage();
                // BitmapImage.UriSource must be in a BeginInit/EndInit block.
                bi.BeginInit();
                bi.UriSource = new Uri(@Uri, UriKind.RelativeOrAbsolute);
                bi.EndInit();
                // Set the image source.
     
                return bi;
            }
        }
    }

    Depuis mon application console, j'appelle ma methode ChangeImage de cette facon:

    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
     
        class Program
        {
            [STAThread]
            static void Main(string[] args)
            {
                TestWindow myTestWindow = new TestWindow();
                myTestWindow.ChangeImage("Vert");
     
     
                System.Windows.Application monApp = new System.Windows.Application();
                monApp.Run(new TestWindow());
     
            }
        }

    Aucune erreur de compilation, normal.

    Mais l'image ne change pas!
    Alors que si je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            public TestWindow()
            {
                InitializeComponent();
                image1.Source = chargeImage("buttonGreen.ico");
            }
    Ca marche


    Si quelqu'un a une solution .... je suis preneur

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        class Program
        {
            [STAThread]
            static void Main(string[] args)
            {
                TestWindow myTestWindow = new TestWindow();
                myTestWindow.ChangeImage("Vert");
     
     
                System.Windows.Application monApp = new System.Windows.Application();
                monApp.Run(new TestWindow());
     
            }
        }
    Je t'explique ce que ce code fait :
    - tu crées une instance de TestWindow
    - Tu change l'image (a priori)
    - Tu crées une nouvelle instance de la classe Application
    - Et tu démarres ton application avec une nouvelle instance de TestWindow (pas celle où tu as modifié l'image donc ...).

    A priori ton code devrais donc être celui ci :
    Code c# : 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
     
        class Program
        {
            [STAThread]
            static void Main(string[] args)
            {
                System.Windows.Application monApp = new System.Windows.Application();
     
                TestWindow myTestWindow = new TestWindow();
                myTestWindow.ChangeImage("Vert");
     
     
                monApp.Run(myTestWindow);
     
            }
        }

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Résolu =)
    Merci pour cette réponse très rapide et... qui fonctionne

    La solution est vraiment bête mais je na savais pas que la nouvelle instance "suuprimerai" et prendrai le dessus sur la 1ère!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Changer l'image contenue dans une popup depuis la page mère
    Par markham dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 13/02/2014, 19h45
  2. Réponses: 4
    Dernier message: 03/12/2012, 11h22
  3. Changer l'image d'un control Image avec un stream
    Par Takumi dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 17/11/2009, 00h31
  4. Réponses: 6
    Dernier message: 16/01/2008, 15h37
  5. Datareport changer la propriété picture d'un controle image
    Par Acrobat dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 18/08/2006, 19h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo