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 :

[WPF] Accés à un élément XAML depuis C#


Sujet :

C#

  1. #1
    Membre très actif
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Par défaut [WPF] Accés à un élément XAML depuis C#
    Voila j'essay de créer un UserControl mais je n'arrive pas à acéder à un élément du XAML

    voici mon code XAML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <UserControl x:Class="WPF_Test1.Button"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
        <Grid>
          <Grid Name="workArea">
     
          </Grid>
        </Grid>
    </UserControl>
    et voici mon code C#
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
        public partial class MyButton : System.Windows.Controls.UserControl
        {
            public MyButton()
            {
            }
     
            protected override void OnRender(DrawingContext drawingContext)
            {
                base.OnRender(drawingContext);
                Grid grd = (Grid)this.FindName("workArea");
     
            }
        }
    seulement voilà grd est toujours à null

    si quelqu'un pouvait me guider

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 101
    Par défaut
    Essaie de définir ta grille comme ça plutôt:
    Et là tu devrais pouvoir y accéder en faisant juste un
    tout bête...

    Edit: tu essaie de faire quoi au juste avec le onRender ?

  3. #3
    Membre très actif
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Par défaut
    J'essaye de charger des élements dans mon grid une fois le UserControl chargé

    pour ta methode :

    XAML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <UserControl x:Class="WPF_Test1.Button"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
      <Grid Loaded="drawElements" x:Name="testGrid">
          <Grid x:Name="testGrid2">
     
          </Grid>
        </Grid>
    </UserControl>
    et C#
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
            public void drawElements(object sender, EventArgs e)
            {
                Grid grd = (Grid)this.testGrid2;
            }
    ...
    ca ne fonctionne pas il ne reconnait pas this.testGrid2

  4. #4
    Membre très actif
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Par défaut
    J'ai fait le meme test dans un window et non plus dans un UserControl et ca fonctionne bien.

    Et donc ma question est comment accéder aux éléments XAML depuis c# dans un UserControl ?? :p

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 101
    Par défaut
    En fait, c'est le même principe dans un UserControl. le problème est que tu n'as pas défini les mêmes noms de classe dans ton c# et ton Xaml.

    Essaie de remplacer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x:Class="WPF_Test1.Button"
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x:Class="WPF_Test1.MyButton"

  6. #6
    Membre très actif
    Avatar de UNi[FR]
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 340
    Par défaut
    Arf !! quel blaireau merci bcp pour ton aide précieuse

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 101
    Par défaut
    De rien

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

Discussions similaires

  1. [WPF] Problème d'accès à des éléments
    Par TWEESTY dans le forum C#
    Réponses: 2
    Dernier message: 19/12/2012, 07h20
  2. accès aux éléments d'un numpy array 2d depuis du code C par double indice
    Par atalon1 dans le forum Interfaçage autre langage
    Réponses: 0
    Dernier message: 17/10/2011, 13h10
  3. Réponses: 10
    Dernier message: 19/09/2011, 13h24
  4. Accès à un composant de Page.xaml depuis un fichier C#
    Par blepeign dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 15/01/2009, 13h00
  5. Acces a un control depuis une autre classe
    Par schnito dans le forum MFC
    Réponses: 5
    Dernier message: 25/01/2004, 22h14

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