Wpf Toolkit (it-it)
Introduzione
Non si può non scrivere un articolo sul WPf Tolkit, un insieme di controlli che non rientrano nella versione ufficiale, oppure controlli che esistono ma con più proprietà e metodi.
Vediamo quindi quali sono questi controlli uno per uno e le caratteristiche che non esistono nella versione ufficiale.
Esistono diversi WPF toolkit, chiunque può crearsi dei Custom Control aggiungendo funzionalità a un controllo base.
Quello che vedremo in questo articolo è l’Extended WPF Toolkit™ Community Edition, sviluppato da Xceed, ma ne esistono diversi sia su Github che su Codeplex. Questo progetto è stato aggiornato a Giugno 2016, segno che è quindi ancora in sviluppo.
Implementazione
La pagina di riferimento del prodotto è a questo link: http://wpftoolkit.codeplex.com/
Possiamo scaricare o solo il file binario (dll) da http://wpftoolkit.codeplex.com/# e implementarli già nelle nostre applicazioni, oppure, come faremo, scaricheremo il sorgente di esempio ed andremo a studiarlo.
Il link per scaricare il sorgente è: http://wpftoolkit.codeplex.com/SourceControl/latest#
Una volta scaricato il progetto, andiamo ad aprire la soluzione con Visual Studio 2015 nella cartella “\wpftoolkit-117359\Main\Source\ExtendedWPFToolkitSolution”
Uno sguardo al progetto
La soluzione è composta da ben 7 progetti:
- Xceed.Wpf.AvalonDock.Themes.Aero
- Xceed.Wpf.AvalonDock.Themes.Metro
- Xceed.Wpf.AvalonDock.Themes.VS2010
- Xceed.Wpf.AvalonDock
- Xceed.Wpf.DataGrid
- Xceed.Wpf.Toolkit
- Xceed.Wpf.Toolkit.LiveExplorer
Le prime sei sono librerie (i primi tre sono temi), quindi il progetto da avviare è l’ultimo.
Avviandolo, la prima schermata che appare è questa:
I controlli
Vediamo ora quali sono i controlli che popolano il progetto.
Gli esempi che ci vengono mostrato sono (sono all’interno della cartella Samples):
- AvalonDock
- BusyIndicator
- Button
- Calculator
- Chart
- CheckLists
- Color
- DataGrid
- DateTime
- FilePicker
- Gauge
- ListBox
- Magnifier
- MaterialControls
- Numeric
- Panels
- Pie
- PileFlowPanel
- PropertyGrid
- RangeSlider
- Rating
- SlideShow
- Text
- Theming
- TimelinePanel
- TimeSpan
- ToggleSwitch
- WatermarkComboBox
- Window
- Wizard
- Zoombox
Gli esempi di cui sopra si possono provare dalla lista della Window caricata.
Essi sono:
- Data
- Input Fields
- Buttons
- Charts
- Windows
- Productivity
- Other
- Theming
Li vediamo esempio per esempio.
Per ogni esempio possiamo modificare i parametri per vedere cosa succede, in tempo reale, possiamo vedere lo XAML e il codice relativo.
Non scriveremo qua codice e XAML, altrimenti avremo un articolo da 200 pagine, però è importante sapere che se vi interessa qualche controllo potete modificarlo già qui in base alle vostre esigenze e quindi copiarlo e incollarlo nella vostra applicazione.
Iniziamo da Data, che comprende:
- PropertyGrid
- DataGrid
- Multi-Colums Combobox
- ListBox
- Check lists
- Watermark Cimbobox
- TimelinePanel
PropertyGrid
Il controllo PropertyGrid consente di visualizzare e modificare le proprietà di un'istanza di oggetto specifico, o valori da un elenco di oggetti personalizzati.
DataGrid
Il WPF Toolkit include un potente e veloce controllo DataGrid con molti miglioramenti rispetto allo standard WPF datagrid.
Multi-Column ComboBox
E’ un avanzato ComboBox. Usa la Potenza del Xceed Datagrid per creare ComboBox avanzati.
ListBox
Gli elementi listBox possono essere animati, trascinato-con il drag e drop, filtrati, raggruppati, selezionati in vari modi e ordinati. Inoltre, tutti i componenti di ListBox possono essere in stile o a tema. Inoltre, diversi modi di presentare gli elementi listBox sono disponibili, ad esempio lo scorrimento orizzontale o verticale e seguenti specifici o percorsi di cerchio.
Check lists
I controlli CheckListBox e CheckComboBox rappresentano un elenco degli elementi selezionati che vengono visualizzati come caselle di controllo.
WatermarkComboBox
Il WatermarkComboBox è un controllo ComboBox completamente personalizzabile.
Il secondo elemento che vedremo è Input Fields che comprende:
- Numbers
- DateTime
- DateSpan
- Color
Text che comprende:
- AutoSelectTextBox
- MaskedTextBox
- MultiLineTextEditor
- TRichTextBox
- WatermarkTextBox
- TokenizedTextBox
- Files
- RangeSlider
- Rating
- ToggleSwitch
- Enumeration
Vista la quantità, non li vedremo tutti, solo quelli principali.
Numbers
La cosa più interessante è avere una calcolatrice in un controllo UpDown, come nella seguente immagine.
DateTime
Anche qua il controllo più interessante è avere un DateTimePicker così:
Color
Il controllo più interessante è il ColorPicker:
RichTextBox
Se nei vostri progetti avete implementato una RichTExtBox, avere un controllo come quello nella figura seguente darà una facilità d’uso estrema:
SlideRanger
Vediamo un controllo Slider con ulteriori funzionalità
Come potete vedere possiamo impostare anche un minimo e massimo con relativi stili.
Charts
Vedere nelle seguenti figure che possiamo creare grafici in diversi stili e mischiandoli, anche con tipi di grafici diversi.
Windows
Possiamo creare finestre con caratteristiche nella comune Window non ci sono, come nella figura seguente.
AvalonDock
L’AvalonDock è un contenitore di controlli che permette la massima flessibilità su monitor più piccoli in modo da nascondere quello che non serve e si adatta automaticamente in base alla risoluzione.
Un esempio di AvalonDock è proprio Visual Studio. Se ad esempio abbiamo monitor a 16/9 possiamo tenere visualizzati l’esplora risorse a destra ed esplora server a sinistra, altrimenti li teniamo chiusi se in quel momento non ci serve.
Ecco qua un paio di esempi:
Pie Progress
Questa è una barra di scorrimento ma a torta.
Conclusioni
In questo articolo abbiamo visto una carrellata veloce dei controlli più importanti all'interno del WPF Toolkit di Xceed.
Spiegare per filo e per segno tutti i controlli, con relativi codici avrebbe reso pesante e illeggibile questo articolo.