Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.




















