Como associar aos resultados de uma consulta LINQ
Este exemplo demonstra como executar uma consulta LINQ e associar aos resultados.
Exemplo
O seguinte exemplo cria duas caixas de listagem. A primeira caixa de listagem contém três itens de lista.
<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}"/>
Selecionar um item na primeira caixa de listagem invoca o manipulador de eventos a seguir. Neste exemplo, Tasks
é uma coleção de objetos Task
. A classe Task
tem uma propriedade chamada Priority
. Esse manipulador de eventos executa uma consulta LINQ que retorna a coleção de objetos que têm o valor de Task
prioridade selecionado e, em seguida, define isso como o 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;
}
A segunda caixa de listagem se vincula a essa coleção porque seu ItemsSource valor é definido como {Binding}
. Como resultado, ele exibe a coleção retornada (com base no myTaskTemplate
DataTemplate).
Confira também
.NET Desktop feedback
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de