我有一个Page1.xaml,它包含一个CollectionViewSource作为这样的资源:
<Page.Resources>
<CollectionViewSource x:Key="MyItems" Source="{Binding Path=Products}" Filter="CollectionViewSource_Filter" >
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="AssetCategory" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
</Page.Resources>
我想像这样刷新CollectionViewSource:
((CollectionViewSource)FindResource("MyItems")).View.Refresh();
但FindResource(或TryFindResource)返回null,我设置了this.DataContext = this和所有绑定都有效。 有人知道我做错了吗?
答案 0 :(得分:1)
我在ComboBox SelectionChanged事件上调用了FindResource,并将其选定的索引设置为0.我认为combox是在资源之前加载的。我只是通过检查页面是否已加载来解决它:
if (IsLoaded)
{
((CollectionViewSource)FindResource("MyItems")).View.Refresh();
}