Procedura: eseguire l'associazione ai risultati di una query LINQ
Aggiornamento: novembre 2007
In questo esempio viene illustrato come eseguire una query LINQ e successivamente eseguire l'associazione ai risultati ottenuti.
Esempio
Nell'esempio seguente vengono create due caselle di riepilogo. La prima casella di riepilogo contiene tre voci di elenco.
<ListBox SelectionChanged="ListBox_SelectionChanged"
SelectedIndex="0" Margin="10,0,10,0" >
<ListBoxItem>1</ListBoxItem>
<ListBoxItem>2</ListBoxItem>
<ListBoxItem>3</ListBoxItem>
</ListBox>
<ListBox Width="400" Margin="10" Name="myListBox"
HorizontalContentAlignment="Stretch"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource myTaskTemplate}"/>
Selezionando un elemento dalla prima casella di riepilogo viene richiamato il seguente gestore eventi. In questo esempio, Tasks è un insieme di oggetti Task. La classe Task dispone di una proprietà denominata Priority. Questo gestore eventi esegue una query LINQ che restituisce l'insieme di oggetti Task con il valore di priorità selezionato, che viene quindi impostato come DataContext:
using System.Linq;
...
Tasks tasks = new Tasks();
...
private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
int pri = Int32.Parse(((sender as ListBox).SelectedItem as ListBoxItem).Content.ToString());
this.DataContext = from task in tasks
where task.Priority == pri
select task;
}
La seconda casella di riepilogo esegue l'associazione a tale insieme perché il valore di ItemsSource è impostato su {Binding}. Di conseguenza visualizza l'insieme restituito, in base a myTaskTemplateDataTemplate. Per l'esempio completo, vedere Esempio di query LINQ.
Vedere anche
Attività
Procedura: rendere i dati disponibili per l'associazione in XAML
Concetti
Novità di Windows Presentation Foundation versione 3.5
Cenni preliminari sull'associazione dati