Почему RadListBox ничего не показывает во время фильтрации данных?
Я использую ICollectionView для фильтров моего списка данных. Но когда я пытаюсь фильтровать данные, то RadListBox ничего не показывает. Вот мой код, который я пытаюсь для этого.
XAML:
<Window.Resources>
<local:MyList x:Key="MyData"/>
<CollectionViewSource x:Key="MyCollection" Source="{Binding ClassTwos, Source={StaticResource MyData}}"/>
</Window.Resources>
<telerik:RadListBox x:Name="ListTwo" ItemsSource="{Binding Source={StaticResource MyCollection}}" Margin="184,78,0,0" Width="94" Height="175" DisplayMemberPath="Name"/>
C#:
public class MyList
{
public ObservableCollection<TestClassTwo> ClassTwos { get; set; }
public MyList()
{
ClassTwos = new ObservableCollection<TestClassTwo>
{
new TestClassTwo{Name = "Sound"},
new TestClassTwo{Name = "Samsung"},
new TestClassTwo{Name = "yahoo"}
};
}
}
public MainWindow()
{
InitializeComponent();
var collectionView = (this.ListTwo.ItemsSource as ICollectionView);
if (collectionView != null)
{
collectionView.Filter = p => ((TestClassTwo)p).Name == "s";
}
}
1 ответ
Решение
Потому что у вас нет элемента, который соответствует вашему фильтру (ни один не назван s
). Я полагаю, вы хотели использовать StartsWith
или же Contains
скорее, чем ==
,