Почему 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 скорее, чем ==,

Другие вопросы по тегам