locked
INotifyPropertyChanged RRS feed

  • Discussion générale

  • Slt à tous ;)

    Alors voilà mon petit problème. Je suis en train de développer un petit jeu silverlight. Ce que je voudrais faire c'est que lorsque le score change dans une sous fenetre il soit automatiquement mis a jour dans la fenetre principal.

    En fait ma fenetre principal contient une frame qui contient d'autre fenetre qui sont en fait les levels du jeu.

    Pour cela j' ai créé fenetre2 qui est ma fenetre principal et fenetre3 qui est la fenetre contenant le level1 du jeu.

    J'ai également créé un fichier classe qui contient l'evenement de changement du score.

    Voici les diverts codes : 

    la classe

    public class User : INotifyPropertyChanged
        {
            private int _id;
            public int Id
            {
                get { return _id; }
                set
                {
                    _id = value;
                    NotifyPropertyChanged("Id");
                }
            }
    
            public event PropertyChangedEventHandler PropertyChanged;
    
            private void NotifyPropertyChanged(string propertyName)
            {
                if (PropertyChanged != null)
                {
                    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
                }
            }
        }

    La fenetre3 (le level1) du jeu

    public partial class fenetre3 : UserControl
        {
           
            
            
    
            public fenetre3()
            {
                InitializeComponent();
               
               
            }
    
            public int numero = 0;
            User user;
            private void Button_Click_1(object sender, RoutedEventArgs e)
            {
                numero++;
                textessai.Text = "J'ai cliqué " + numero + " fois.";
                user = new User();
                user.Id = numero;
                textessai2.Text = "J'ai cliqué " + user.Id + " fois.";
            }
            
                    
            
    
            
        }

    et la fenetre 2 la fenetre principal

    public partial class Fenetre2 : UserControl
        {
            
           
    
            public Fenetre2()
            {
                InitializeComponent();
    
                User user = new User();
                texteEssai.Text = "J'ai cliqué " + user.Id + " fois.";
                
            }
    
           
    
            private void Btn_affiche_Click(object sender, RoutedEventArgs e)
            {
                Frame.Navigate(new Uri("/fenetre3.xaml", UriKind.Relative));
            }
    
            private void Button_Click_1(object sender, RoutedEventArgs e)
            {
    
                Frame.Navigate(new Uri("/Fenetre4.xaml", UriKind.Relative));
            }
    
           
    
    
    
            
        }

    Mon probleme est le changement du Int se fait bien dans la fenetre 3 mais ne change pas dans la fenetre 2.

    Pourtant j'appell bien la classe.

    Pourriez vous m'aiguiller??

    Merci

    • Type modifié Aurel Bera jeudi 4 avril 2013 08:56 Discussion
    dimanche 17 mars 2013 20:36

Toutes les réponses