Condividi tramite


Associazione di controlli WPF ai dati in Visual Studio

 

Data di pubblicazione: aprile 2016

È possibile visualizzare i dati per gli utenti dell'applicazione mediante l'associazione dei dati ai controlli WPF. Per creare questi controlli associati a dati, è possibile trascinare gli elementi dalla finestra Origini dati a WPF Designer in Visual Studio. In questo argomento vengono descritte alcune delle più comuni attività, strumenti e classi che è possibile utilizzare per creare applicazioni WPF associate a dati.

Per informazioni generali sulla creazione dei controlli associati a dati in Visual Studio, vedere Associazione di controlli ai dati in Visual Studio. Per altre informazioni sull'associazione di dati con WPF, vedere Cenni preliminari sull'associazione dati.

Attività coinvolte nell'associazione di controlli WPF a dati

Nella tabella seguente vengono elencate le attività che possono essere eseguite trascinando gli elementi dalla finestra Origini dati a WPF Designer.

Attività Altre informazioni
Creare nuovi controlli associati a dati.

Associare controlli esistenti a dati.
Procedura: associare controlli WPF ai dati in Visual Studio
Creare controlli che visualizzano i dati correlati in una relazione padre-figlio: quando l'utente seleziona un record di dati padre in un controllo, un altro controllo visualizza i dati figlio correlati per il record selezionato. Procedura: visualizzare dati correlati nelle applicazioni WPF
Creare una tabella di ricerca che consente di visualizzare le informazioni contenute in una tabella in base al valore di un campo della chiave esterna in un'altra tabella. Procedura: creare tabelle di ricerca nelle applicazioni WPF
Associare un controllo a un'immagine di un database. Procedura: associare controlli alle immagini di un database

Destinazioni di rilascio valide

È possibile trascinare gli elementi della finestra Origini dati solo in destinazioni di rilascio valide in WPF Designer. Esistono due tipi principali di destinazioni di rilascio valide: contenitori e controlli. Un contenitore è un elemento dell'interfaccia utente che in genere contiene i controlli. Una griglia e una finestra, ad esempio, sono contenitori.

Codice e XAML generati

Quando si trascina un elemento dalla finestra Origini dati in WPF Designer, Visual Studio genera XAML che definisce un nuovo controllo associato a dati (o associa un controllo esistente all'origine dati). Per alcune origini dati, Visual Studio genera anche il codice nel file code-behind che inserisce i dati nell'origine dati.

Nella tabella seguente vengono elencati XAML e il codice generati da Visual Studio per ogni tipo di origine dati nella finestra Origini dati.

Origine dati Generazione di XAML per l'associazione di un controllo all'origine dati Generazione di codice per l'inserimento dei dati nell'origine dati
Set di dati
Entity Data Model
Servizio No
Oggetto No

Dataset

Quando si trascina una tabella o una colonna dalla finestra Origini dati alla finestra di progettazione, Visual Studio genera XAML che esegue le operazioni seguenti:

  • Aggiunge il dataset e un nuovo oggetto CollectionViewSource alle risorse del contenitore in cui è stato trascinato l'elemento. CollectionViewSource è un oggetto che può essere utilizzato per esplorare e visualizzare i dati nel dataset.

  • Crea un'associazione dati per un controllo. Se si trascina l'elemento in un controllo esistente della finestra di progettazione, XAML associa il controllo all'elemento. Se si trascina l'elemento in un contenitore, XAML crea il controllo selezionato per l'elemento trascinato e associa il controllo all'elemento. Il controllo viene creato all'interno di un nuovo oggetto Grid.

Visual Studio apporta inoltre le modifiche seguenti al file code-behind:

  • Crea un gestore dell'evento Loaded per l'elemento Interfaccia utente contenente il controllo. Il gestore dell'evento inserisce i dati nella tabella, recupera l'oggetto CollectionViewSource dalle risorse del contenitore, quindi imposta come elemento corrente il primo elemento di dati. Se un gestore eventi Loaded è già presente, Visual Studio aggiunge questo codice al gestore eventi esistente.

Entity Data Model

Quando si trascina un'entità o una proprietà di entità dalla finestra Origini dati alla finestra di progettazione, Visual Studio genera XAML che esegue le operazioni seguenti:

  • Aggiunge un nuovo oggetto CollectionViewSource alle risorse del contenitore in cui è stato trascinato l'elemento. CollectionViewSource è un oggetto che può essere utilizzato per esplorare e visualizzare i dati nell'entità.

  • Crea un'associazione dati per un controllo. Se si trascina l'elemento in un controllo esistente della finestra di progettazione, XAML associa il controllo all'elemento. Se si trascina l'elemento in un contenitore, XAML crea il controllo selezionato per l'elemento trascinato e associa il controllo all'elemento. Il controllo viene creato all'interno di un nuovo oggetto Grid.

Visual Studio apporta inoltre le modifiche seguenti al file code-behind:

  • Aggiunge un nuovo metodo che restituisce una query per l'entità trascinata nella finestra di progettazione (o per l'entità contenente la proprietà trascinata nella finestra di progettazione). Il nome del nuovo metodo è GetNomeEntitàQuery, dove NomeEntità è il nome dell'entità.

  • Crea un gestore dell'evento Loaded per l'elemento Interfaccia utente contenente il controllo. Il gestore dell'evento chiama il metodo GetNomeEntitàQuery per inserire i dati nell'entità, recupera CollectionViewSource dalle risorse del contenitore e quindi imposta come elemento corrente il primo elemento di dati. Se un gestore dell'evento Loaded è già presente, Visual Studio aggiunge questo codice al gestore dell'evento esistente.

Servizi

Quando si trascina un oggetto servizio o una proprietà dalla finestra Origini dati alla finestra di progettazione, Visual Studio genera XAML che crea un controllo associato a dati (o associa un controllo esistente all'oggetto o alla proprietà). Visual Studio, tuttavia, non genera il codice che inserisce i dati nell'oggetto servizio del proxy. È necessario scrivere questo codice manualmente. Per un esempio che illustra come eseguire questa operazione, vedere Procedura dettagliata: associazione di controlli WPF a un servizio dati WCF.

Visual Studio genera XAML che esegue le operazioni seguenti:

  • Aggiunge un nuovo oggetto CollectionViewSource alle risorse del contenitore in cui è stato trascinato l'elemento. CollectionViewSource è un oggetto che può essere utilizzato per esplorare e visualizzare i dati nell'oggetto restituito dal servizio.

  • Crea un'associazione dati per un controllo. Se si trascina l'elemento in un controllo esistente della finestra di progettazione, XAML associa il controllo all'elemento. Se si trascina l'elemento in un contenitore, XAML crea il controllo selezionato per l'elemento trascinato e associa il controllo all'elemento. Il controllo viene creato all'interno di un nuovo oggetto Grid.

Oggetti

Quando si trascina un oggetto o una proprietà dalla finestra Origini dati alla finestra di progettazione, Visual Studio genera XAML che crea un controllo associato a dati (o associa un controllo esistente all'oggetto o alla proprietà). Visual Studio, tuttavia, non genera il codice per inserire i dati nell'oggetto. È necessario scrivere questo codice manualmente.

Nota

Le classi personalizzate devono essere pubblicate e devono avere un costruttore senza parametri predefinito. Le classi annidate non possono avere un 'punto' nella sintassi. Per altre informazioni, vedere Classi XAML e personalizzate per WPF.

Visual Studio genera XAML che esegue quanto riportato di seguito:

  • Aggiunge un nuovo oggetto CollectionViewSource alle risorse del contenitore in cui è stato trascinato l'elemento. CollectionViewSource è un oggetto che può essere utilizzato per esplorare e visualizzare i dati nell'oggetto.

  • Crea un'associazione dati per un controllo. Se si trascina l'elemento in un controllo esistente della finestra di progettazione, XAML associa il controllo all'elemento. Se si trascina l'elemento in un contenitore, XAML crea il controllo selezionato per l'elemento trascinato e associa il controllo all'elemento. Il controllo viene creato all'interno di un nuovo oggetto Grid.

Vedere anche

Procedura: associare controlli WPF ai dati in Visual Studio
Procedura: creare tabelle di ricerca nelle applicazioni WPF
Procedura: visualizzare dati correlati nelle applicazioni WPF
Associazione di controlli WPF a un Entity Data Model
Procedura dettagliata: associazione di controlli WPF a un dataset
Procedura dettagliata: associazione di controlli WPF a un servizio dati WCF
Procedura dettagliata: visualizzazione dei dati correlati in un'applicazione WPF
Origini dati (finestra)
Cenni preliminari sulle origini dati