Cara: Mengikat ke Hasil Kueri LINQ
Contoh ini menunjukkan cara menjalankan kueri LINQ lalu mengikat hasilnya.
Contoh
Contoh berikut membuat dua kotak daftar. Kotak daftar pertama berisi tiga item daftar.
<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}"/>
Memilih item dari kotak daftar pertama memanggil penanganan aktivitas berikut. Dalam contoh ini, Tasks
adalah kumpulan Task
objek. Kelas Task
memiliki properti bernama Priority
. Penanganan aktivitas ini menjalankan kueri LINQ yang mengembalikan kumpulan Task
objek yang memiliki nilai prioritas yang dipilih, lalu mengaturnya sebagai 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;
}
Kotak daftar kedua mengikat ke koleksi tersebut karena nilainya ItemsSource diatur ke {Binding}
. Akibatnya, ia menampilkan koleksi yang dikembalikan (berdasarkan myTaskTemplate
DataTemplate).
Baca juga
.NET Desktop feedback
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk