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

Windows Presentation Foundation Discussion :

Code généré par Visual Studio 2008


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Business Developer chez SoftFluent
    Inscrit en
    Juin 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Business Developer chez SoftFluent
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 38
    Par défaut Code généré par Visual Studio 2008
    Bonjour,

    Lorsque je crée une application sous Visual Studio 2008, celui-ci me génère le code suivant:

    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
     
    namespace WPF01
    {
        /// <summary>
        /// Interaction logic for Window1.xaml
        /// </summary>
        /// 
     
        public partial class Window1 : Window
        {
            public Window1()
            {
                InitializeComponent();
            }
        }
    }

    Je me demandais simplement pourquoi ma fenètre se lance lorsque je commente l'appel à InitializeComponent().

    Sachant que c'est cette méthode qui s'occupe du chargement du fichier xaml (transformé en baml à la compilation) dans l'assembly (en tant que ressource):

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.Windows.Application.LoadComponent(this, resourceLocater);

    Merci,

  2. #2
    Expert confirmé
    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
    Par défaut
    Comme tu l'as dit, cette méthode prend en charge le chargement des composants, la form n'en a donc pas besoin pour s'afficher ... la fenêtre est crée bien avant que le chargement des composants ne commence et peut donc s'afficher sans problème (si ce n'est que ce sera une form par défaut avec rien dedans).

  3. #3
    Membre averti
    Homme Profil pro
    Business Developer chez SoftFluent
    Inscrit en
    Juin 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Business Developer chez SoftFluent
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 38
    Par défaut
    Ce que je ne comprend pas c'est que si je modifie le fichier window1.xaml de base par:

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            x:Class="WPF01.Window1"
            Title="WPF01" Height="250" Width="500">
        <Grid>
            <CheckBox Height="16" HorizontalAlignment="Left" Name="checkBox1" VerticalAlignment="Top" Width="120">CheckBox</CheckBox>
            <StackPanel Margin="103.323,47.773,115.544,16.665" Name="stackPanel1">
                <Button Height="23.331" Name="button1" Width="75.548">Button</Button>
            </StackPanel>
        </Grid>
    </Window>

    Si je commente l'appel à InitializeComponent() dans le fichier .cs correspondant, la fenetre et les controles situés à l'interieur sont entierement affichés.

  4. #4
    Expert confirmé
    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
    Par défaut
    Ahh, je n'avais pas compris ...
    En effet, ça me le fait aussi (je n'avais jamais remarqué).
    Cependant, dans le code généré par VS on peut voir
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (_contentLoaded) {
                    return;
                }
                _contentLoaded = true;
    Donc je pense que la classe de base Window appelle automatiquement InitializeComponent ...

  5. #5
    Membre averti
    Homme Profil pro
    Business Developer chez SoftFluent
    Inscrit en
    Juin 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Business Developer chez SoftFluent
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 38
    Par défaut
    Possible.

    Si quelqu'un peut confirmer.

    Cordialement,

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Je n'avais moi non plus jamais remarqué ce comportement mais je serais d'avis de penser que smyley a la bonne réponse....

Discussions similaires

  1. Visual Studio 2008 Corriger son code en mode debug
    Par shaun_the_sheep dans le forum Visual Studio
    Réponses: 2
    Dernier message: 26/01/2010, 11h53
  2. Réponses: 3
    Dernier message: 04/07/2009, 14h46
  3. code pop3 en visual studio 2008
    Par univermiss dans le forum Windows Forms
    Réponses: 8
    Dernier message: 11/06/2009, 00h01
  4. VB.NET 2008 Code généré par le concepteur de vue
    Par EXPERMEGAS dans le forum Windows Forms
    Réponses: 3
    Dernier message: 19/06/2008, 10h21
  5. probleme code généré sous visual studio 2005
    Par jip06 dans le forum Visual Studio
    Réponses: 2
    Dernier message: 17/01/2007, 22h21

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