如果我有一个非常大的ListView,Visiblity
设置为Collapsed
,它会在InitializeComponent()
期间填充还是仅在Visiblity
更改为Visible
时填充}?
感谢。
修改
我应该提到,在我的场景中,ListView将通过绑定填充。我想知道如果ListView包含大量数据,即使它从未显示过,也会有性能损失。
答案 0 :(得分:1)
是的,它会被填充。甚至弹出窗口或工具提示也会在显示之前创建。如果这是一个问题,那么当某个动作发生时,您可以在代码中延迟加载控件。
您可以使用占位符,例如ContentPresenter
<ContentPresenter x:Name="listHost"/>
然后在发生特定操作时将Content属性设置为列表控件的新实例。
代码背后的某处
var listView = new ListView();
//set up bindings... populate the listView
listHost.Content = listView;