Condividi tramite


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.