我使用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";
}
}
答案 0 :(得分:0)
因为您没有与您的过滤器匹配的项目(没有名称为s
)。我假设您打算使用StartsWith
或Contains
而不是==
。