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

Silverlight Discussion :

Cannot register duplicate Name 'mainController' in this scope.


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 41
    Par défaut Cannot register duplicate Name 'mainController' in this scope.
    Bonjour

    Je suis entrain de suivre un tutoriel sur SilverLight permettant de créer une galerie d'images.

    Je travailles sous Visual Studio 2010 (Difficile de dire si cela vient d'un bug du à la beta..).

    Je rencontre l'erreur suivante lors de la compilation (ou pour afficher le designer) :
    Error 1 Cannot register duplicate Name 'mainController' in this scope. C:\Users\Julien\Documents\Visual Studio 10\Projects\SilverlightApplication2\SilverlightApplication2\Page.xaml 10 27 SilverlightApplication2
    Je vous remercie pour vos futures réponses,

    Cdt
    Julien

    Voici les différentes pages de code :

    Code xaml : 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
    <UserControl x:Class="SilverlightApplication2.Page"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:o="clr-namespace:SilverlightApplication2" 
        mc:Ignorable="d"
        d:DesignHeight="300" d:DesignWidth="400">
        <UserControl.Resources>
            <o:MainController x:Name="mainController" />
            <o:ListImageObj x:Name="Images">
                <o:ImageObj id="1" titre="Coucou" url="ig2i.png" rating="3" ></o:ImageObj>
                <o:ImageObj id="2" titre="Salut" url="bodycote-logo.jpg" rating="3" ></o:ImageObj>
            </o:ListImageObj>
        </UserControl.Resources>
        <Grid x:Name="LayoutRoot" Background="White">
    
            <StackPanel Orientation="Horizontal">
                <ListBox x:Name="lb1" ItemsSource="{StaticResource Images}" SelectedItem="{Binding Path=ImageSelected,Source={StaticResource mainController},Mode=TwoWay}">
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding titre}" />
                        </DataTemplate>
                       
                    </ListBox.ItemTemplate>
                </ListBox>
                <Button  Margin="50" x:Name="bt1">
                    <Button.Content>
                        <StackPanel>
    
                    <TextBlock x:Name="tb1" HorizontalAlignment="Center" Text="{Binding Path=ImageSelected.titre,Source={StaticResource mainController}}"/>      
                    <Image x:Name="image1" Height="106.656" Width="183.315" Source="{Binding Path=ImageSelected.url, Source={StaticResource mainController}}"  />
                </StackPanel>
                  
              </Button.Content>
            </Button>
             </StackPanel>
        </Grid>
    </UserControl>

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    using System;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Ink;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using System.Collections.Generic;
    namespace SilverlightApplication2
    {
        public class ImageObj
        {
            public int id { get; set; }
            public string titre { get; set; }
            public string url { get; set; }
            public int rating { get; set; }
     
        }
     
        public class ListImageObj : List<ImageObj>
        {
        }
     
    }

    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
    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
    using System;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Ink;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using System.ComponentModel;
    namespace SilverlightApplication2
    {
        public class MainController : INotifyPropertyChanged
        {
            private ImageObj imageSelected;
            public ImageObj  ImageSelected
            {
                get { return imageSelected; }
                set
                {
                    if (imageSelected != value)
                    {
                        imageSelected = value;
                        OnPropertyChanged("MyProperty");
                    }
                }
     
            }
     
     
            #region INotifyPropertyChanged Members
            public event PropertyChangedEventHandler PropertyChanged;
            protected void OnPropertyChanged(string propertyName)
            {
     
                if (this.PropertyChanged != null)
                    this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     
            }
            #endregion
        }
    }

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 77
    Par défaut
    Bonjour,

    je déterres ce post pour plusieurs raisons :

    - Il n'y a pas la solution
    - J'ai la solution, mais je comprends pas la solution
    - Je vias donner l'équivalent en français de cette erreur pour qu'elle soit référencée sous les moteurs de recherche et que les non anglophones puissent avoir la solution

    Alors l'équivalent français est
    Impossible d'inscrire le nom dupliqué 'XXXX' dans cette portée.
    La solution est de remplacer le x:Name par x:Key lors de la déclaration de ta ressource 'mainController'.

    Ca marche, par contre j'aimerais savoir pourquoi le fait de déclarer un x:Name au lieu d'un x:Key fait apparâitre cette erreur !

  3. #3
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Parce que une ressource ça se définie avec un x:Key pour pouvoir y accéder par la suite via StaticResource par exemple.

    x:Name c'est pour nommé des éléments pour les utiliser dans ton code behind. Pour chaque x:Name que tu mets dans ton code le designer te créer des variables du même nom dans le fichier TonFichier.g.cs (un truc dans le genre). Du coup si tu mets plusieurs éléments avec le même x:Name ben derrière ça essaye de créer plusieurs membres privés avec le même nom ce qui est donc impossible.

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

Discussions similaires

  1. error : 'tr' was not declared in this scope
    Par jimaitou dans le forum Débuter
    Réponses: 3
    Dernier message: 13/05/2009, 13h54
  2. getaddrinfo was not declared in this scope ?
    Par dr.c0der_ dans le forum C
    Réponses: 2
    Dernier message: 30/04/2009, 02h14
  3. QFormLayout was not declared in this scope
    Par kronos85 dans le forum Débuter
    Réponses: 5
    Dernier message: 11/12/2008, 02h30
  4. Réponses: 3
    Dernier message: 03/06/2007, 15h29
  5. Réponses: 22
    Dernier message: 14/12/2005, 15h01

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