如果WPF ListView的Visibility设置为Collapsed,则会填充它

时间:2009-08-07 00:29:57

标签: wpf listview

如果我有一个非常大的ListView,Visiblity设置为Collapsed,它会在InitializeComponent()期间填充还是仅在Visiblity更改为Visible时填充}?

感谢。

修改

我应该提到,在我的场景中,ListView将通过绑定填充。我想知道如果ListView包含大量数据,即使它从未显示过,也会有性能损失。

1 个答案:

答案 0 :(得分:1)

是的,它会被填充。甚至弹出窗口或工具提示也会在显示之前创建。如果这是一个问题,那么当某个动作发生时,您可以在代码中延迟加载控件。

您可以使用占位符,例如ContentPresenter

<ContentPresenter x:Name="listHost"/>

然后在发生特定操作时将Content属性设置为列表控件的新实例。

代码背后的某处

var listView = new ListView(); 
//set up bindings... populate the listView 
listHost.Content = listView;