none
Boucle for ou while en XAML RRS feed

  • Question

  • Bonjour

    je cherche a remplir de rectangles en nombre non connus au depart   dans une Grid ou bien un canvas ou un stack panel dans une application WPF les dimensions des elements (rectangles) ne sont pas connues au depart y a t il en xaml une boucle for ou bien while pour creer une serie de rectangle occupant toute la grille (grid) avec dimensionnement automatique de ceux ci pour qu 'ils occuppent tout l espace et se redimensionnent lors d une "homotetie" de la

    fenetre  ;de plus peut on gerer le comportement global de l ensemble pour les evenements

    au lieu de creer autant de procedure de gestion d evenement qu il y a de rectangles ou plus

    generalement d elements similaires

    Comment faire?

    merci a toute reponse

    amitie jp

     

    samedi 20 novembre 2010 11:31

Réponses

  • Bonjour,

     

    Vous pouvez créer les contrôles de manière dynamique est définir leur position avec la propriété Margin, qui détermine la position de chaque cote du contrôle par rapport à la cote du contrôle qui le contient.

    Vous pouvez aussi ajouter une même méthode qui gère l’évènement Click et, en définissant la propriété Name du chaque contrôle, vous pouvez vérifier quelle est le contrôle qui a généré l’évènement :

    private void button1_Click(object sender, RoutedEventArgs e)

            {

                int i;

                Button r;

                for (i = 0; i < 10; i++)

                {

                    r = new Button();

                   

                    r.Width = 20;

                    r.Name = "MyButton" + i.ToString();

    r.Background = new System.Windows.Media.LinearGradientBrush();                r.Margin = new Thickness(

                          40 * i,

                        100, 0, 0);

                    r.Height = 20;

                    r.Width = 20;

                    r.Click += new RoutedEventHandler(r_Click);

                    this.MainGrid.Children.Add(r);

                   

                   

                }

            }

     

            void r_Click(object sender, RoutedEventArgs e)

            {

                //throw new NotImplementedException();

    MessageBox.Show(((Button)sender).Name);

     

            }

     

     

    Consultez aussi cette page pour plusieurs informations sur le système de disposition de WPF :

    http://msdn.microsoft.com/fr-fr/library/ms745058.aspx

     

    Cordialement,

    Alex

    ________________

     


    Suivez MSDN sur Twitter 

    Publiez un article sur MSDN !

     

    Windows Phone 7

     

    Astuces pour Visual Studio 2010

     

    XNA – Développement jeux vidéo

     

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

    • Marqué comme réponse Alex Petrescu mercredi 24 novembre 2010 13:42
    dimanche 21 novembre 2010 18:15