Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    22

    [VISUAL C#] Creazione dinamica pulsanti

    Ciao a tutti,

    espongo la mia problematica:

    Sto progettando un applicazione WPF, nella quale sono presenti diverse pagine caricate automaticamente in un frame a sua volta contenuto in una window, e fin qui tutto OK!

    All'interno delle page, ho la necessità di far creare dinamicamente, al caricamento della page stessa, un numero di pulsanti definito da DB.
    Il collegamento al DB per ora non mi interessa piu di tanto, poichè infatti la problematica che riscontro, non è relativa ai dati ma bensì al tipo di strutture che dovrò utilizzare come contenitore dei pulsanti.

    All'interno della mia page, ho provato a creare in .xaml la struttura uniformgrid come da codice sotto:

    codice:
     <UniformGrid  Name="gridprova" >
          
     </UniformGrid>
    per poi popolarla nel seguente modo in C#, come da codice sotto:

    codice:
    namespace My_application
    {
    
      public partial class Page
      {
              
           
        public Page()
        {
          this.InitializeComponent();
    
    
        //ciclo for d'esempio per la creazione di 20 pulsanti.
         for (int i = 0; i < 20; ++i)
         {
             //creo l'oggetto pulsante
              Button button = new Button()
              {
                Content = string.Format("PROVA", i),
               };
                
        //lo collego all'evento button_Click    
        button.Click += new RoutedEventHandler(button_Click);
    
        //ne specifico le dimensioni
        button.Height = 150;
        button.Width = 170;
    
        //applico lo style al pulsante creato
        button.Style = Application.Current.Resources["ButtonStyle"] as Style; 
                   
         //determino la dimensione in righe e colonne della uniformgrid              
         this.gridprova.Rows = 4;
         this.gridprova.Columns = 5;
    
         //imposto una sorta di margini della uniformgrid dai limiti della page
         this.gridprova.Margin = new Thickness(60, 150, 50, 70);
    
         //stampo il pulsante nella uniformgrid
         this.gridprova.Children.Add(button);
                   
    
        }
      }
    }

    A questo punto, il risultato desiderato l'ho ottenuto ma a stenti, infatti, avrei assolutamente bisogno di poter gestire la posizione dei pulsanti che stampo (coordinate riga colonna) mentre con il codice che ho usato questo non mi è stato possibile, inoltre non conosco un metodo nella uniformgrid che mi permetta di impostare un margine all'interno delle celle tra il contenuto che vi faccio stampare ed il bordo della cella stessa.

    ------------------------------------
    Riassumendo, due quesiti:

    - esistono altri oggetti più adatti della uniformgrid per l'utilizzo che devo farne, quindsi come contenitore di oggetti dinamici (pulsanti) di cui devo determinare una precisa posizione di stampa?
    - esistono metodi che mi permettano di gestire, margini all'interno delle celle, posizione di stampa dei pulsanti (coordinate) e gestire a pieno quindi in semplicità la posizione e le distanze di tutti gli oggetti per gli scopi che voglio raggiungere?



    Grazie mille in anticipo,
    Attendo speranzoso consigli e risposte! =D

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Tutti i linguaggi .NET vengono tratatti nel forum "Visual Basic e .NET Framework".

    Sposto.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    22
    Ciao!

    Pensavo di averlo inserito correttamente nella categoria .NET Framework

    Grazie!

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    22
    Nessuno ha idea di come fare?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.