Nel precedente articolo abbiamo visto come il layout degli elementi che compongono un'applicazione WPF sia organizzato mediante l'utilizzo di particolari oggetti, noti complessivamente come Panel, e visualizzati all'utente meditante un oggetto Window o Page.
Per gli esempi dell'articolo ci serviremo solamente di applicazione standalone, di conseguenza utilizzeremo solamente l'oggetto Window (System.Windows).
XAML Object Element
<Window> Contenuto <Window>
C#
Window _myWindow = new Window();
L'oggetto Window eredita dalla classe ContentContol la Dependecy Properties Content del tipo Object. Come il nome lascia trasparire, tramite questa proprietà è possibile impostare il contenuto della finestra, tipicamente per creare interfacce complesse. Tale contenuto è rappresentato da un'istanza di una delle classi derivate da Panel, come ad esempio StackPanel, ma virtualmente è possibile assegnare qualsiasi oggetto, come un'immagine, una forma, del testo, ma non un altro oggetto Window che in un ipotetica struttura ad albero deve trovarsi sempre alla base della radice.
XAML Object Element
<Window Title=" SympleWindow"> <StackPanel> </StackPanel> </Window>
Per brevità dalla sintassi di XAML sono stati rimossi l'attributi xmlns e xmlns:x e da quella C# l'importazione dei namespaces: System, System.Windows, System.Windows.Controls, System.Windows.Input, System.Windows.Documents.
C#
namespace MyWPF { class SympleWindow { [STAThread] public static void Main() { Application app = new Application(); Window _window = new Window(); _window.Title = " SympleWindow "; StackPanel _stackPanel = new StackPanel(); _window.Content = _stackPanel; app.Run(_window); } } }
In entrambi gli esempi precedenti, utilizzando sia la sintassi XAML sia la più nota sintassi C# viene creato un nuovo oggetto Window e la proprietà Content viene impostata su un'istanza del tipo StackPanel.
Gli oggetti derivati dalla classe Panel non possiedono un aspetto, si occupano solo di gestire il layout del proprio contenuto, solitamente rappresentato da un insieme di controlli.
In WPF i controlli sono raggruppati nel namespaces System.Windows.Controls, gruppo, se possiamo usare questa espressione, rappresentato dall'archetipo dei controlli, l'oggetto Button.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.