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