Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este ejemplo se muestra cómo ejecutar una consulta LINQ y, a continuación, enlazar a los resultados.
Ejemplo
En el ejemplo siguiente se crean dos cuadros de lista. El primer cuadro de lista contiene tres elementos 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}"/>
Al seleccionar un elemento del primer cuadro de lista, se invoca el siguiente controlador de eventos. En este ejemplo, Tasks
es una colección de Task
objetos . La Task
clase tiene una propiedad denominada Priority
. Este controlador de eventos ejecuta una consulta LINQ que devuelve la colección de objetos que tienen el valor de Task
prioridad seleccionado y, a continuación, lo establece como :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;
}
El segundo cuadro de lista se enlaza a esa colección, porque su ItemsSource valor está establecido en {Binding}
. Como resultado, muestra la colección devuelta (basada en myTaskTemplate
DataTemplate).
Consulte también
.NET Desktop feedback