Theo mặc định, tấm không có xuất hiện của riêng mình, chỉ hiển thị ảnh hưởng của sự hiện diện của họ là làm thế nào họ kích thước và vị trí của con cái của họ. Tuy nhiên, họ có thể được thực hiện có thể nhìn thấy bằng cách thiết lập nền của họ | Example 7-38. Accessing the data held by continued if _ void addButton_Click object sender RoutedEventArgs e Creating a new PeopleRow DataSourceProvider provider DataSourceProvider Family table Chris 37 void sortButton_Click object sender RoutedEventArgs e ICollectionView view GetFamilyView if 0 new SortDescription Name new SortDescription Age else _ void filterButton_Click object sender RoutedEventArgs e Can t set the Filter property but can set the CustomFilter on a BindingListCollectionView BindingListCollectionView view BindingListCollectionView GetFamilyView if Age 25 else null _ void groupButton_Click object sender RoutedEventArgs e ICollectionView view GetFamilyView if 0 Group by age new PropertyGroupDescription Age else _ _ 238 Chapter Binding to List Data In Example 7-38 you ll notice that manipulating and displaying a person is different because we re dealing with a DataRowView object s Row property to get the typed PeopleRow we want. Also adding a new person is different because we re dealing with a PeopleDataTable. Finally filtering is different because the BindingListCollectionView doesn t support the Filter property setting it causes an exception at runtime . However we set the CustomFilter string on the BindingListCollectionView using the ADO. NET filter syntax. Everything else though including accessing the collection view navigating the rows and even sorting and grouping is the same as shown in Figure 7-20. Figure 7-20. data .