Tutorial WPF per principianti
Che cos'è WPF?
WPF è una struttura per la costruzione Windows applicazioni che consentono agli utenti di sviluppare interfacce utente avanzate con animazioni 3D e colori intensi con una minore complessità di codice. È un motore di rendering basato su vettori che utilizza l'accelerazione hardware delle moderne schede grafiche, il che rende Ul più veloce e altamente scalabile. WPF sta per Windows Presentazione del concorso Foundation.
WPF può essere considerato un'evoluzione di WinForms. Produce un sistema di visualizzazione grafica facile da usare Windows. Offre una facile separazione tra interfaccia utente e logica aziendale.
Le applicazioni WPF possono essere distribuite nel tuo sistema come programma desktop autonomo o ospitate come oggetto incorporato in un sito Web.
Perchè WPF?
Ci sono molti motivi per utilizzare la piattaforma WPF, alcuni dei più importanti sono:
- Una piattaforma ideale da utilizzare se è necessario gestire vari tipi di media
- WPF ti consente di creare un'interfaccia utente con skin. Ti aiuta anche quando devi caricare parte dell'interfaccia utente o desideri associare dati XML
- Ti consente di sfruttare i vantaggi della grande libreria di classi .NET su cui è basata Tecnologia .NET
- Indipendenza dalla risoluzione, quindi le applicazioni sviluppate utilizzando WMF possono essere eseguite su dispositivi mobili o su un monitor da 20 pollici
- WPF si basa su DirectX anziché su WinAPI. Offre il sistema grafico del computer client. Offrendo quindi una maggiore potenza di resa grafica
- Supporta un modello di flusso di documenti che consente la qualità di "desktop publishing" del layout
- Aspetto e comportamento sono debolmente accoppiati. Ciò consente a progettisti e sviluppatori di lavorare su due modelli separati
- Nel framework WMF puoi progettare graficamente strumenti su semplici documenti XML invece di analizzare il codice
- Consente di utilizzare l'accelerazione hardware per disegnare la GUI, per prestazioni migliori
Storia del WPF
Windows 1.0 è stato il primo ambiente GUI da Microsoft. Funziona come uno strato sopra DOS, facendo affidamento sui sistemi GDI e USER per l'interfaccia grafica e utente.
DirectX è stato introdotto nel 1995 come sistema grafico ad alte prestazioni. Era rivolto a giochi e altri ambienti legati alla grafica. Nel corso degli anni sono state rilasciate molte versioni con Directx9 che fornisce una libreria da utilizzare con il codice mange.Net.
Versione WPF | Anno di pubblicazione | .Versione Net | Versione di Visual Studio | Caratteristiche |
---|---|---|---|---|
3.0 | 2006 | 3.0 | N/A | Versione iniziale. Tuttavia, lo sviluppo WPF può essere eseguito con VS 2005. |
3.5 | 2007 | 3.5 | CONTRO 2008 | Modifiche e miglioramenti in: Modello applicativo, rilegatura, controlli, documenti, annotazioni ed elementi UL 3-D. |
3.5 SP1 | 2008 | 3.5 SP1 | N/A | Supporto nativo per la schermata iniziale. Nuovo controllo del browser Web, supporto del pixel shader DirectX. |
4.0 | 2010 | 4.0 | CONTRO 2010 | Nuovi controlli: Calendario. DataGrid, DatePicker. Multi-Touch e Manipolazione |
4.5 | 2012 | 4.5 | CONTRO 2012 | Tempi di configurazione più rapidi e prestazioni migliorate per gli effetti Bitmap. Nuovi controlli: Calendario. DataGrid, DatePicker. Multi-Touch e Manipolazione |
4.5.1 | 2013 | 4.5.1 | CONTRO 2013 | Nuovo controllo della barra multifunzione Nuova interfaccia INotifyDataErrorlnfo |
4.5.2 | 2014 | 4.5.2 | NA | Nessun cambiamento importante Nessun cambiamento importante |
4.6 | 2015 | 4.6 | CONTRO 2015 | Supporto finestra bambino trasparente Miglioramenti HDPI e touch |
L'ultima versione stabile di WPF 5.0.6 rilasciata nell'aprile 2021.
Caratteristiche di WPF
- Documenti e Stampa
- Sicurezza, accessibilità e localizzazione
- Offre interoperabilità con Windows Controlli dei moduli
- Direct3D viene utilizzato nelle applicazioni grafiche in cui le prestazioni sono importanti
- Utilizza l'hardware della scheda video per il rendering
- La grafica basata su vettori ti consente di ridimensionare la tua applicazione senza perdita di qualità
- WPF supporta il sistema di pixel logici a virgola mobile e il colore ARGB a 32 bit
- Ridefinire stili e modelli di controllo
- Creazione di caratteri internazionali da caratteri compositi
- Il rendering del testo WPF ti aiuta a sfruttare la tecnologia ClearType
- Consente di utilizzare la tecnica di caching del testo pre-renderizzato nella memoria video
- Approccio basato sulle risorse per ogni controllo
- I timer della presentazione sono inizializzati e gestiti da WPF
- È supportata anche la relazione tra video e animazione
- In WPF uno stile è un insieme di proprietà che dovrebbero essere applicate al contenuto utilizzato per il rendering visivo
- I modelli in WPF ti aiutano a modificare l'UL del tuo documento
- I comandi sono versioni più astratte e liberamente accoppiate degli eventi
- Il supporto WPF per i comandi riduce la quantità di codice che dobbiamo scrivere
Avanti in questo WPF Esercitazione su C#, impareremo a conoscere i tipi principali e l'infrastruttura di WPF.
Tipi e infrastrutture principali di WPF
Le classi in WPF sono divise in quattro diverse tipologie:
- Elemento UIE
- Elemento quadro
- ElementoContenuto
- ElementoContenutoFramework
Queste classi, note come classi di elementi base. Fornisce le basi per un modello di composizione delle interfacce utente.
Le interfacce utente WPF sono composte da elementi assemblati in una gerarchia ad albero. Si chiama albero degli elementi. L'albero degli elementi è un modo intuitivo per layout dell'interfaccia utente. È una struttura che ti consente di ottenere funzionalità di potenti servizi di interfaccia utente.
XAML
L'Extensible Application Markup Language, chiamato "XAML" o "zammel", è un modo dichiarativo per definire le interfacce utente.
Ecco la definizione XAML di un semplice pulsante:
<Button FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Center" > Say Hello Guru99</Button>
Vantaggio dell'utilizzo del linguaggio XAML:
- XAML che separa l'aspetto front-end dalla logica back-end
- XAML è il metodo più semplice per rappresentare le interfacce utente
- XAML funziona in modo efficace con gli strumenti
Controls
Il framework WPF supporta molti controlli utili come:
- Controlli di modifica come TestoBox, Dai un'occhiataBox, Pulsante di opzione
- Controlli elenco come ListBox, Visualizzazione elenco, Visualizzazione albero
- Informazioni utente come etichetta, barra di avanzamento WPF, descrizione comando
- Azioni come Menu, Pulsante e Barra degli strumenti
- Aspetti come bordo, immagine WPF e Viewbox
- Finestre di dialogo comuni come OpenFileDialog e PrintDialog.
- Contenitori come TabContro, ScrollBar e GroupBox
- Layout come DocPanel, StackPanel e Grid
- Navigazione come Frame e Collegamento ipertestuale
L'aspetto dei controlli può essere personalizzato con stili e modelli senza programmazione. Puoi anche creare un controllo personalizzato derivando una nuova classe da una classe base appropriata.
Forma
WPF fornisce una funzionalità per personalizzare l'aspetto della tua applicazione. Ti consente di impostare oggetti e valori per cose come caratteri, sfondi, ecc.
La funzione Stili ti consente di standardizzare un aspetto specifico per l'intero prodotto. Ti consente di sostituire l'aspetto predefinito mantenendo il suo comportamento predefinito.
Il modello di dati consente di controllare la visualizzazione predefinita dei dati associati. Con l'aiuto dei temi, puoi visualizzare facilmente gli stili dal sistema operativo.
Layout e pannelli
Il layout ti aiuta nel corretto posizionamento e controllo del dimensionamento. Fa parte del processo di composizione della presentazione per l'utente. Il framework WPF semplifica il processo di layout e offre una migliore adattabilità dell'aspetto dell'interfaccia utente.
L'infrastruttura di layout è offerta da varie classi: 1) StackPanel 2) DockPanel 3) WrapPanel 4) Grid e 5) Canvas
Grafica
WPF fornisce un sistema grafico migliorato come
- WPF usa unità indipendenti dal dispositivo, consentendo la risoluzione e l'indipendenza dal dispositivo. Pertanto, ciascun pixel, che è indipendente dal dispositivo, viene ridimensionato automaticamente con il sistema di impostazione dei punti per pollice
- WPF utilizza double invece di float e supporta una gamma più ampia di colori
- Il motore grafico WPF è progettato in modo tale da poter sfruttare l'hardware grafico quando disponibile
Documenti e Stampa
Il framework WPF offre tre tipi di documenti:
- Documenti fissi: Questo tipo di documento supporta WYSIWPresentazione YG.
- Documenti di flusso: Consente di regolare e ridisporre il contenuto in base a variabili di runtime come la dimensione della finestra e la risoluzione del dispositivo.
- Documenti XPS: È una rappresentazione impaginata di carta elettronica in un formato basato su XML. XPS è un formato di documento open source e multipiattaforma.
WPF consente un migliore controllo sul sistema di stampa. Include la stampa remota e le code. Inoltre, i documenti XPS possono essere stampati direttamente senza convertirli in un formato di stampa.
WPF Architectura
WPF è una parte del framework .NET. Contiene sia codice gestito che non gestito. I componenti importanti dell'architettura WPF sono spiegati nella figura sottostante:
Componenti dell'architettura WPF
- Presentazione Quadro: Ti aiuta a creare elementi di primo livello come controlli, stili, layout, finestre, ecc.
- PresentazioneCore: contiene tipi di base come UIElement, Visual da tutti i controlli e le forme sono derivate in PresentationFramework.dll.
- CLR: Rende produttivo il processo di sviluppo offrendo funzionalità come gestione della memoria, gestione degli errori, ecc.
- Milcore: Milcore fa parte del codice non gestito che offre una stretta integrazione con DirectX.
- DirectX: È l'API di basso livello che consente il rendering della grafica di WPF. I colloqui DirectX interagiscono con i driver ed eseguono il rendering del contenuto.
- Utente32: È un'API di base ampiamente utilizzata da molti programmi. Gestisce la separazione della memoria e dei processi. User32 ti aiuta a decidere quale elemento verrà posizionato e dove sullo schermo.
- Kernel: L'input ha origine come segnale su un driver di dispositivo in modalità kernel e viene instradato al processo corretto e connettendosi con Windows kernel e Utente32.
Installazione WPF
Fare riferimento a questo collegamento per installare WPF https://www.guru99.com/download-install-visual-studio.html
Successivamente in questo tutorial sull'applicazione WPF, creeremo il nostro primo WPF.
Come creare la tua prima applicazione WPF?
In questo esempio WPF, svilupperemo un'applicazione WPF di base. Quindi, iniziamo la semplice implementazione seguendo i passaggi forniti negli esempi di applicazione WPF di seguito.
Passo 1) In Visual Studio vai su File > Progetto
Passo 2) Nella nuova finestra del progetto
- Seleziona l'app WPF
- Inserisci il nome come "MyWPF"
- fare clic su OK
Passo 3) Visual Studio crea due file per impostazione predefinita
- File XAML (MainWindow.xaml)
- File CS (MainWindow.xaml.cs)
Il MainWindow.xaml ha
- Una finestra di progettazione
- File XAML
Nelle finestre XAML, i seguenti tag sono scritti per impostazione predefinita
La griglia è il primo elemento per impostazione predefinita.
MainWindow.xaml.cs contiene il codice corrispondente dietro il file di progettazione XAML
Passo 4) Nella cassetta degli attrezzi,
- Trascina testoBox elemento nella finestra di disegno
- Un testoBox apparirà nella finestra del disegno
- Vedrai il codice XAML per TextBox aggiunto
Passo 5) Cambia il testo in "Primo programma WPF".
Passo 6) Fai clic sul pulsante Start
Passo 7) Vedrai una finestra in output
Congratulazioni! Hai progettato e creato la tua prima applicazione WPF. Successivamente in questo tutorial su WPF per principianti, vedremo la differenza tra WPF e WinForms.
WPF e WinForms
WPF | WinForms |
---|---|
Si tratta di un framework più recente, quindi più in sintonia con gli standard attuali. | È più vecchio, quindi è più provato e testato. |
È flessibile e ricco di funzionalità. È possibile progettare applicazioni molto ricche senza scrivere codice o acquistare controlli. | Non così ricco di funzionalità |
Sviluppatori di 3rd i controlli dei party sono focalizzati sulla compatibilità con WPF poiché è il futuro. | Esistono molti controlli di terze parti che puoi acquistare o ottenere gratuitamente. |
XAML ti consente di creare e modificare facilmente la tua GUI. Consente di suddividere il lavoro tra un designer (XAML) e un programmatore (C#, ASP.net, ecc.). | In Windows Forma tutto il codice scritto in un unico posto. |
WPF può creare interfacce utente per entrambi Windows applicazioni e applicazioni web come Silverlight e XBAP. | Nessun supporto del genere |
La suite di controllo in-box di WPF è limitata | I controlli in-box sono molto potenti |
Tipo di applicazioni create con WPF
- WPF sta cercando di sostituire i moduli Web e i moduli di Windows: le app possono essere create per essere eseguite in un browser o in una finestra autonoma
- Windows I moduli e le pagine WPF possono coesistere nella stessa applicazione
- È possibile sviluppare applicazioni di pagina/finestra
Guida veloce
- Il modulo completo WPF è Windows Presentazione del concorso Foundation
- È una piattaforma ideale da utilizzare se è necessario gestire vari tipi di media
- Windows 1.0 è stato il primo ambiente GUI da Microsoft che lavorava su DOS e si affidava ai sistemi GDI e USER
- WPF in .NET offre interoperabilità con Windows Controlli dei moduli
- I WPF sono divisi in quattro diversi tipi come UIElement, FrameworkElement ContentElement e FrameworkContentElement
- I componenti più importanti di parte dell'architettura WPF sono PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32 e Kernel
- WPF è un framework più recente rispetto a WinForms, quindi è più in sintonia con gli standard attuali
- Windows I moduli e le pagine WPF possono coesistere nella stessa applicazione