Associazione di controlli WPF ai dati in Visual Studio

È 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 di controlli associati a dati in Visual Studio, vedere Associazione di controlli ai dati in Visual Studio. Per ulteriori informazioni sull'associazione dati di WPF, vedere Data Binding Overview.

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à

Ulteriori 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

Dataset

Entity Data Model

Servizio

No

Oggetto

Sì

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 UI 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 UI contenente il controllo. Il gestore dell'evento chiama il metodo GetNomeEntitàQuery per inserire i dati nell'entità, 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.

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 illustri questo 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 ulteriori 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

Attività

Procedura: associare controlli WPF ai dati in Visual Studio

Procedura: creare tabelle di ricerca nelle applicazioni WPF

Procedura: visualizzare dati correlati nelle applicazioni WPF

Procedura dettagliata: 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

Riferimenti

Origini dati (finestra)

Concetti

Cenni preliminari sulle origini dati