我在XAML中获得了以下CollectionViewSource定义:
<UserControl.Resources>
<CollectionViewSource x:Key="PersonsViewSource" Source="{Binding AvailablePersons}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="Surname" Direction="Ascending" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</UserControl.Resources>
我有一个绑定到这个CVS的组合框,并希望从这样的代码访问View:
(Resources["PersonsViewSource"] as CollectionViewSource).View
但是,即使我尝试在InitializeComponent()
之后或Loaded event
处理程序中查看&amp;来源仍为null
。
当应用程序在浏览器中显示给我时,虽然绑定已经发生,如果我现在在一个地方放置一个断点视图&amp; source现在不为null。
那么究竟什么时候设置源?我在哪里可以访问加载我的应用程序的阶段的视图?
也许这是一个关于viewsource的一般性绑定问题,什么时候是静态资源绑定集?
答案 0 :(得分:1)
在初始化期间设置绑定,因为此行被解析:
<CollectionViewSource x:Key="PersonsViewSource" Source="{Binding AvailablePersons}">
但该绑定指向当时AvailablePersons属性中存在的任何数据。在任何相关的异步加载完成之前,它将保持为空。
使用Silverlight,您通常对数据加载事件感兴趣,而不是在显示可视树时。
您能告诉我们有关如何获取AvailablePersons数据的更多信息吗?