Procedura dettagliata: visualizzazione dei dati correlati in un'applicazione WPF
In questa procedura dettagliata, verrà creata un'applicazione WPF che visualizza dati da tabelle di database che dispongono di una relazione padre/figlio. I dati vengono incapsulati nelle entità in un modello Entity Data Model. L'entità padre contiene informazioni generali per un set di ordini. Ogni proprietà di questa entità viene associata a un controllo diverso nell'applicazione. L'entità figlio contiene dettagli per ogni ordine. Questo set di dati viene associato a un controllo DataGrid.
Vengono illustrate le attività seguenti:
Creazione di un'applicazione WPF e di un modello Entity Data Model generato dai dati nel database di esempio AdventureWorksLT.
Creazione di un set di controlli associati a dati che visualizzano informazioni generali per un set di ordini. I controlli vengono creati trascinando un'entità padre dalla finestra Origini dati a Progettazione WPF.
Creazione di un controllo DataGrid che visualizza dettagli correlati per ogni ordine selezionato. I controlli vengono creati trascinando un'entità figlio dalla finestra Origini dati a una finestra in Progettazione WPF.
Nota
Il computer potrebbe mostrare nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. L'edizione di Visual Studio in uso e le impostazioni utilizzate determinano questi elementi. Per ulteriori informazioni, vedere Gestione delle impostazioni.
Prerequisiti
Per completare la procedura dettagliata, è necessario disporre dei componenti seguenti:
Visual Studio 2010.
Istanza in esecuzione di SQL Server o SQL Server Express a cui è collegato il database di esempio AdventureWorksLT e cui è possibile accedere. Tale database può essere scaricato dal sito Web CodePlex (informazioni in lingua inglese).
Per completare la procedura dettagliata è inoltre consigliabile conoscere già i concetti riportati di seguito:
Entity Data Model e ADO.NET Entity Framework. Per ulteriori informazioni, vedere Entity Data Model e Introducing the Entity Framework.
Utilizzo di Progettazione WPF. Per ulteriori informazioni, vedere Cenni preliminari su WPF e Silverlight Designer.
Associazione dati WPF. Per ulteriori informazioni, vedere Data Binding Overview.
Creazione del progetto
Creare un nuovo progetto WPF per visualizzare i record di ordini.
Per creare un nuovo progetto WPF
Avviare Visual Studio.
Scegliere Nuovo dal menu File, quindi Progetto.
Espandere Visual C# o Visual Basic, quindi selezionare Finestre.
Assicurarsi che sia selezionata l'opzione .NET Framework 4 nella casella combinata nella parte superiore della finestra di dialogo. Il controllo DataGrid utilizzato in questa procedura dettagliata è disponibile solo in .NET Framework 4.
Selezionare il modello di progetto Applicazione WPF.
Nella casella Nome digitare AdventureWorksOrdersViewer.
Scegliere OK.
Visual Studio crea il progetto AdventureWorksOrdersViewer.
Creazione di un modello Entity Data Model per l'applicazione
Prima di poter creare i controlli associati a dati, è necessario definire un modello di dati per l'applicazione e aggiungerlo alla finestra Origini dati. In questa procedura dettagliata, il modello di dati è un modello Entity Data Model.
Per creare un modello Entity Data Model
Dal menu Dati scegliere Aggiungi nuova origine dati per aprire la Configurazione guidata origine dati.
Nella pagina Seleziona un tipo di origine dati fare clic su Database, quindi su Avanti.
Nella pagina Scegli modello database fare clic su Entity Data Model e scegliere Avanti.
Nella pagina Scegli contenuto Model fare clic su Genera da database, quindi su Avanti.
Nella pagina Seleziona connessione dati effettuare una delle seguenti operazioni:
Selezionare la connessione dati al database di esempio AdventureWorksLT nell'elenco a discesa, se presente.
oppure
Fare clic su Nuova connessione e creare una connessione al database AdventureWorksLT.
Verificare che l'opzione Salva impostazioni di connessione dell'entità in App.Config come sia selezionata, quindi scegliere Avanti.
Nella pagina Seleziona oggetti di database espandere il nodo Tabelle, quindi selezionare le tabelle seguenti:
SalesOrderDetail
SalesOrderHeader
Scegliere Fine.
Compilare il progetto.
Creazione di controlli associati a dati per la visualizzazione degli ordini
Creare controlli che consentono di visualizzare i record di ordini tramite trascinamento dell'entità SalesOrderHeaders dalla finestra Origini dati a Progettazione WPF.
Per creare controlli associati a dati per la visualizzazione dei record di ordini
In Esplora soluzioni fare doppio clic su MainWindow.xaml.
La finestra verrà aperta in Progettazione WPF.
Modificare il file XAML in modo che le proprietà Altezza e Larghezza siano impostate su 800
Nella finestra Origini dati fare clic sul menu a discesa relativo al nodo SalesOrderHeaders, quindi selezionare Dettagli.
Espandere il nodo SalesOrderHeaders.
Fare clic sul menu a discesa accanto a SalesOrderID e selezionare ComboBox.
Per ognuno dei seguenti nodi figlio del nodo SalesOrderHeaders, fare clic sul menu a discesa accanto al nodo e selezionare Nessuno:
RevisionNumber
OnlineOrderFlag
ShipToAddressID
BillToAddressID
CreditCardApprovalCode
SubTotal
TaxAmt
Freight
rowguid
ModifiedDate
Questa azione impedisce a Visual Studio di creare controlli associati a dati per questi nodi nel passaggio successivo. Per questa procedura dettagliata, si presume che l'utente finale non debba visualizzare questi dati.
Dalla finestra Origini dati trascinare il nodo SalesOrderHeaders nella finestra in Progettazione WPF.
Visual Studio genera XAML che crea un set di controlli associati a dati nell'entità SalesOrderHeaders e il codice che carica i dati. Per ulteriori informazioni sul linguaggio XAML e sul codice generati, vedere Associazione di controlli WPF ai dati in Visual Studio.
Nella finestra di progettazione fare clic sulla casella combinata accanto all'etichetta SalesOrderID.
Nella finestra Proprietà selezionare la casella di controllo accanto alla proprietà IsReadOnly.
Creazione di un DataGrid che visualizza i dettagli sugli ordini
Creare un controllo DataGrid che consente di visualizzare i dettagli degli ordini tramite trascinamento dell'entità SalesOrderDetails dalla finestra Origini dati a Progettazione WPF.
Per creare un DataGrid che visualizza i dettagli sugli ordini
Nella finestra Origini dati individuare il nodo SalesOrderDetails figlio del nodo SalesOrderHeaders.
Nota
Esiste anche un nodo SalesOrderDetails peer del nodo SalesOrderHeaders. Assicurarsi di selezionare il nodo figlio del nodo SalesOrderHeaders.
Espandere il nodo SalesOrderDetails figlio.
Per ognuno dei seguenti nodi figlio del nodo SalesOrderDetails, fare clic sul menu a discesa accanto al nodo e selezionare Nessuno:
SalesOrderID
SalesOrderDetailID
rowguid
ModifiedDate
Questa azione impedisce a Visual Studio di includere questi dati nel controllo DataGrid creato nel passaggio successivo. Per questa procedura dettagliata, si presume che l'utente finale non debba visualizzare questi dati.
Dalla finestra Origini dati trascinare il nodo SalesOrderDetails figlio nella finestra in Progettazione WPF.
Visual Studio genera XAML per definire un nuovo controllo DataGrid associato a dati e il controllo viene visualizzato nella finestra di progettazione. Visual Studio aggiorna inoltre il metodo GetSalesOrderHeadersQuery generato nel file code-behind per includere i dati nell'entità SalesOrderDetails.
Verifica dell'applicazione
Compilare ed eseguire l'applicazione per verificare che i record di ordini vengano visualizzati.
Per eseguire il test dell'applicazione
Premere F5.
L'applicazione viene compilata ed eseguita. Verificare quanto segue:
Nella casella combinata Sales Order ID viene visualizzato 71774. Si tratta del primo ID ordine nell'entità.
Per ogni ordine selezionato nella casella combinata SalesOrderID, vengono visualizzate informazioni dettagliate sull'ordine nel controllo DataGrid.
Chiudere l'applicazione.
Passaggi successivi
Al termine di questa procedura dettagliata, imparare a utilizzare la finestra Origini dati in Visual Studio per associare i controlli WPF ad altri tipi di origini dati. Per ulteriori informazioni, vedere Procedura dettagliata: associazione di controlli WPF a un servizio dati WCF e Procedura dettagliata: associazione di controlli WPF a un dataset.
Vedere anche
Attività
Procedura: visualizzare dati correlati nelle applicazioni WPF