我在我的应用中定义了一个标签控件,我正在动态添加标签项。假设我有包含大量数据的对象列表,对于每个对象,我显示5-10个选项卡。显示的排序和选项卡因对象而异。这就是我必须根据我的对象动态创建这些选项卡的原因。
就这些选项卡中的内容而言,我通常将每个选项卡的.Content属性设置为UserControl,并加载它,如下面的代码所示。
If ContainsFingerprints() Then
Dim fingerprintT As New TabItem
fingerprintT.Content = New FingerprintTab()
fingerprintT.Header = "Fingerprints"
fingerprintT.Name = "tiFingerprintTab"
viewTab.Items.Add(fingerprintT)
End If
其中一些标签包含大量图像,并在运行时占用大量内存。这就是为什么我想在“按需”这些标签项中加载内容,也就是说,只有在选中标签时才会加载。
我可以使用制表符控件的SelectionChanged事件然后加载所需的内容但是WPF提供了更好的解决方案吗?