2
在Resources
部分中創建CollectionViewSource
時,是否在資源初始化時(即,在登錄的持有者爲Resources
時)或綁定了數據時加載了集合Source
?延遲加載CollectionViewSource?
是否有一種xamly的方式來製作CollectionViewSource
延遲加載?遞延負荷?明確的負荷?
在Resources
部分中創建CollectionViewSource
時,是否在資源初始化時(即,在登錄的持有者爲Resources
時)或綁定了數據時加載了集合Source
?延遲加載CollectionViewSource?
是否有一種xamly的方式來製作CollectionViewSource
延遲加載?遞延負荷?明確的負荷?
答案是,只要沒有請求,CollectionViewSource
不會初始化它的Source
屬性!
這裏是我的測試例子:
<Window
x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:src="clr-namespace:WpfApplication2">
<Window.Resources>
<CollectionViewSource x:Key="mySource">
<CollectionViewSource.Source>
<src:Collection />
</CollectionViewSource.Source>
</CollectionViewSource>
</Window.Resources>
<!--ListView ItemsSource="{Binding Source={StaticResource mySource}}"/-->
</Window>
Imports System.Collections.ObjectModel
Imports System.ComponentModel
Public Class Collection : Inherits ObservableCollection(Of String)
Public Sub New()
If Not DesignerProperties.GetIsInDesignMode(New DependencyObject) Then End
For i = 1 To 10
Add("Item " & i)
Next
End Sub
End Class
結果:項目關閉下,只有當ListView
是註釋。