Sviluppo di applicazioniApplication Development

Windows Presentation Foundation (WPF) è un framework di presentazione che può essere usato per sviluppare i seguenti tipi di applicazioni:Windows Presentation Foundation (WPF) is a presentation framework that can be used to develop the following types of applications:

  • Applicazioni autonome, ovvero applicazioni WindowsWindows dallo stile tradizionale compilate come assembly eseguibili installati nel computer client, da cui vengono eseguite.Standalone Applications (traditional style WindowsWindows applications built as executable assemblies that are installed to and run from the client computer).

  • Applicazioni applicazioni browser XAML (XBAP)XAML browser applications (XBAPs), ovvero applicazioni costituite da riquadri di navigazione compilate come assembly eseguibili e ospitate da Web browser come Microsoft Internet ExplorerMicrosoft Internet Explorer o Mozilla Firefox.applicazioni browser XAML (XBAP)XAML browser applications (XBAPs) (applications composed of navigation pages that are built as executable assemblies and hosted by Web browsers such as Microsoft Internet ExplorerMicrosoft Internet Explorer or Mozilla Firefox).

  • Librerie di controlli personalizzati, ovvero assembly non eseguibili contenenti controlli riutilizzabili.Custom Control Libraries (non-executable assemblies containing reusable controls).

  • Librerie di classi, ovvero assembly non eseguibili contenenti classi riutilizzabili.Class Libraries (non-executable assemblies that contain reusable classes).

Nota

L'uso di tipi WPF in un servizio Windows è fortemente sconsigliato.Using WPF types in a Windows service is strongly discouraged. Se usate in un servizio Windows, queste funzionalità potrebbero non funzionare nel modo previsto.If you attempt to use these features in a Windows service, they may not work as expected.

Per compilare questo set di applicazioni, WPFWPF implementa una serie di servizi.To build this set of applications, WPFWPF implements a host of services. Questo argomento offre una panoramica dei servizi, con indicazioni sulle risorse in cui trovare altre informazioni.This topic provides an overview of these services and where to find more information.

Gestione applicazioniApplication Management

Le applicazioni WPFWPF eseguibili richiedono un set di funzionalità di base, incluse le seguenti:Executable WPFWPF applications commonly require a core set of functionality that includes the following:

  • Creazione e gestione dell'infrastruttura di applicazioni comuni, inclusa la creazione di un metodo del punto di ingresso e di un loop di messaggi di Windows per la ricezione di messaggi di sistema e di input.Creating and managing common application infrastructure (including creating an entry point method and a Windows message loop to receive system and input messages).

  • Interazione con il ciclo di vita dell'applicazione e relativa verifica.Tracking and interacting with the lifetime of an application.

  • Recupero ed elaborazione di parametri della riga di comando.Retrieving and processing command-line parameters.

  • Condivisione di proprietà con ambito di applicazione e risorse dell'Interfaccia utenteUI.Sharing application-scope properties and Interfaccia utenteUI resources.

  • Rilevamento ed elaborazione di eccezioni non gestite.Detecting and processing unhandled exceptions.

  • Restituzione di codici di uscita.Returning exit codes.

  • Gestione delle finestre in applicazioni autonome.Managing windows in standalone applications.

  • Gestione della navigazione in applicazioni applicazioni browser XAML (XBAP)XAML browser applications (XBAPs) e autonome con finestre e frame di navigazione.Tracking navigation in applicazioni browser XAML (XBAP)XAML browser applications (XBAPs), and standalone applications with navigation windows and frames.

Queste funzionalità vengono implementate dalla classe Application, che deve essere aggiunta alle applicazioni usando una definizione di applicazione.These capabilities are implemented by the Application class, which you add to your applications using an application definition.

Per altre informazioni, vedere Cenni preliminari sulla gestione di applicazioni.For more information, see Application Management Overview.

File di dati e di risorse dell'applicazione WPF.WPF Application Resource, Content, and Data Files

WPFWPF estende il supporto di base in Microsoft .NET Framework per le risorse incorporate con supporto per tre tipi di file di dati non eseguibili: risorse, contenuto e dati. extends the core support in the Microsoft .NET Framework for embedded resources with support for three kinds of non-executable data files: resource, content, and data. Per altre informazioni, vedere File di dati e di risorse dell'applicazione WPF.For more information, see WPF Application Resource, Content, and Data Files.

Un componente chiave del supporto per file di dati non eseguibili di WPF è la possibilità di identificarli e caricarli usando uno URIURI univoco.A key component of the support for WPF non-executable data files is the ability to identify and load them using a unique URIURI. Per altre informazioni, vedere URI di tipo pack in WPF.For more information, see Pack URIs in WPF.

Finestre e finestre di dialogoWindows and Dialog Boxes

Gli utenti interagiscono con applicazioni WPFWPF autonome tramite le finestre.Users interact with WPFWPF standalone applications through windows. Lo scopo di una finestra è ospitare il contenuto dell'applicazione ed esporre le funzionalità dell'applicazione che in genere permettono agli utenti di interagire con il contenuto.The purpose of a window is to host application content and expose application functionality that usually allows users to interact with the content. In WPFWPF le finestre sono incapsulate dalla classe Window, che supporta:In WPFWPF, windows are encapsulated by the Window class, which supports:

  • Creazione e visualizzazione di finestre.Creating and showing windows.

  • Definizione di relazioni tra finestre proprietarie/finestre di proprietà.Establishing owner/owned window relationships.

  • Configurazione dell'aspetto delle finestre, ad esempio dimensioni, posizione, icone, testo della barra del titolo e bordo.Configuring window appearance (for example, size, location, icons, title bar text, border).

  • Interazione con il ciclo di vita di una finestra e relativa verifica.Tracking and interacting with the lifetime of a window.

Per altre informazioni, vedere Cenni preliminari sulle finestre di WPF.For more information, see WPF Windows Overview.

Window permette di creare un tipo speciale di finestra, chiamata finestra di dialogo.Window supports the ability to create a special type of window known as a dialog box. È possibile creare tipi di finestre di dialogo modali e non modali.Both modal and modeless types of dialog boxes can be created.

Per motivi di praticità e i vantaggi offerti dalla riusabilità e un'esperienza utente coerente per le applicazioni, WPFWPF espone tre delle finestre di dialogo comuni di Windows: OpenFileDialog, SaveFileDialog, e PrintDialog.For convenience, and the benefits of reusability and a consistent user experience across applications, WPFWPF exposes three of the common Windows dialog boxes: OpenFileDialog, SaveFileDialog, and PrintDialog.

Una finestra di messaggio è un tipo speciale di finestra di dialogo che permette di visualizzare agli utenti informazioni testuali importanti e di porre semplici domande con risposta Sì/No/OK/Annulla.A message box is a special type of dialog box for showing important textual information to users, and for asking simple Yes/No/OK/Cancel questions. Per creare e mostrare finestre di messaggio, è necessario usare la classe MessageBox.You use the MessageBox class to create and show message boxes.

Per altre informazioni, vedere Cenni preliminari sulle finestre di dialogo.For more information, see Dialog Boxes Overview.

WPFWPF supporta la navigazione Web tramite pagine (Page) e collegamenti ipertestuali (Hyperlink). supports Web-style navigation using pages (Page) and hyperlinks (Hyperlink). La navigazione può essere implementata in svariati modi, tra cui i seguenti:Navigation can be implemented in a variety of ways that include the following:

  • Pagine autonome ospitate in un Web browser.Standalone pages that are hosted in a Web browser.

  • Pagine compilate in un'applicazione XBAPXBAP ospitata in un Web browser.Pages compiled into an XBAPXBAP that is hosted in a Web browser.

  • Pagine compilate in un'applicazione autonoma e ospitate da una finestra di navigazione (NavigationWindow).Pages compiled into a standalone application and hosted by a navigation window (NavigationWindow).

  • Pagine ospitate da un frame (Frame), che può essere ospitato in una pagina autonoma, oppure una pagina compilata in un'applicazione XBAPXBAP o autonoma.Pages that are hosted by a frame (Frame), which may be hosted in a standalone page, or a page compiled into either an XBAPXBAP or a standalone application.

Per semplificare la navigazione, WPFWPF implementa quanto segue:To facilitate navigation, WPFWPF implements the following:

  • NavigationService, il motore di navigazione condiviso per l'elaborazione di richieste di navigazione usato da Frame, NavigationWindow e da applicazioni XBAPXBAPs per supportare la navigazione tra applicazioni.NavigationService, the shared navigation engine for processing navigation requests that is used by Frame, NavigationWindow, and XBAPXBAPs to support intra-application navigation.

  • Metodi di navigazione per avviare la navigazione.Navigation methods to initiate navigation.

  • Eventi di navigazione per interagire con il ciclo di vita della navigazione e verificarlo.Navigation events to track and interact with navigation lifetime.

  • Memorizzazione della navigazione all'indietro e in avanti tramite un giornale di registrazione, che può essere anche esaminato e modificato.Remembering back and forward navigation using a journal, which can also be inspected and manipulated.

Per informazioni, vedere Cenni preliminari sulla navigazione.For information, see Navigation Overview.

WPFWPF supporta anche un tipo speciale di navigazione chiamato navigazione strutturata. also supports a special type of navigation known as structured navigation. La navigazione strutturata può essere usata per chiamare una o più pagine che restituiscono dati in modo strutturato e prevedibile, coerentemente con le funzioni chiamanti.Structured navigation can be used to call one or more pages that return data in a structured and predictable way that is consistent with calling functions. Questa funzionalità dipende dalla classe PageFunction<T>, che viene descritta in modo più approfondito in Cenni preliminari sulla navigazione strutturata.This capability depends on the PageFunction<T> class, which is described further in Structured Navigation Overview. PageFunction<T> ha anche lo scopo di semplificare la creazione di topologie di navigazione complesse, descritte in Cenni preliminari sulle topologie di navigazione.PageFunction<T> also serves to simplify the creation of complex navigation topologies, which are described in Navigation Topologies Overview.

HostingHosting

Le applicazioni XBAPXBAPs possono essere ospitate in Microsoft Internet ExplorerMicrosoft Internet Explorer o Firefox.XBAPXBAPs can be hosted in Microsoft Internet ExplorerMicrosoft Internet Explorer or Firefox. Ogni modello di hosting è associato a un insieme di considerazioni e vincoli descritti in Hosting.Each hosting model has its own set of considerations and constraints that are covered in Hosting.

Compilazione e distribuzioneBuild and Deploy

Benché sia possibile compilare semplici applicazioni WPFWPF da un prompt dei comandi tramite compilatori della riga di comando, WPFWPF si integra con Microsoft Visual StudioMicrosoft Visual Studio per offrire supporto aggiuntivo che semplifica il processo di sviluppo e compilazione.Although simple WPFWPF applications can be built from a command prompt using command-line compilers, WPFWPF integrates with Microsoft Visual StudioMicrosoft Visual Studio to provide additional support that simplified the development and build process. Per altre informazioni, vedere Compilazione di un'applicazione WPF.For more information, see Building a WPF Application.

A seconda del tipo di applicazione compilato, è possibile scegliere tra una o più opzioni di distribuzione.Depending on the type of application you build, there are one or more deployment options to choose from. Per altre informazioni, vedere Distribuzione di un'applicazione WPF.For more information, see Deploying a WPF Application.

TitoloTitle DescrizioneDescription
Cenni preliminari sulla gestione di applicazioniApplication Management Overview Offre una panoramica della classe Application, con informazioni sulla gestione di ciclo di vita dell'applicazione, finestre, risorse dell'applicazione e navigazione.Provides an overview of the Application class including managing application lifetime, windows, application resources, and navigation.
Windows in WPFWindows in WPF Offre informazioni dettagliate sulla gestione delle finestre nell'applicazione, tra cui l'uso della classe Window e delle finestre di dialogo.Provides details of managing windows in your application including how to use the Window class and dialog boxes.
Cenni preliminari sulla navigazioneNavigation Overview Offre una panoramica della gestione della navigazione tra pagine dell'applicazione.Provides an overview of managing navigation between pages of your application.
HostingHosting Viene fornita una panoramica su applicazioni browser XAML (XBAP)XAML browser applications (XBAPs).Provides an overview of applicazioni browser XAML (XBAP)XAML browser applications (XBAPs).
Compilazione e distribuzione di applicazioni WPFBuild and Deploy Descrive come compilare e distribuire un'applicazione WPF.Describes how to build and deploy your WPF application.
Introduzione a WPF in Visual StudioIntroduction to WPF in Visual Studio Descrive le principali funzionalità di WPF.Describes the main features of WPF.
Procedura dettagliata: Prima applicazione desktop WPFWalkthrough: My first WPF desktop application Procedura dettagliata che mostra come creare un'applicazione WPF tramite navigazione tra le pagine, layout, controlli, immagini, stili e binding.A walkthrough that shows how to create a WPF application using page navigation, layout, controls, images, styles, and binding.