默认情况下,WPF ListView(带有GridView)是虚拟化的。ItemSource因此,当我使用 MVVM 模式(使用 Caliburn.Micro 但我想这并不重要)时,我将我的属性绑定到 ViewModel 中的可观察集合。
当ListView使用(在范围内并由 UI listviewitem 表示)和未使用时(不再在范围内并在用户界面)?
延迟加载一些详细数据会非常好,但仅适用于可见记录。
默认情况下,WPF ListView(带有GridView)是虚拟化的。ItemSource因此,当我使用 MVVM 模式(使用 Caliburn.Micro 但我想这并不重要)时,我将我的属性绑定到 ViewModel 中的可观察集合。
当ListView使用(在范围内并由 UI listviewitem 表示)和未使用时(不再在范围内并在用户界面)?
延迟加载一些详细数据会非常好,但仅适用于可见记录。
你可以有一个派生的 ListView 重写PrepareContainerForItemOverride和ClearContainerForItemOverride方法:
public class MyListView : ListView
{
protected override void PrepareContainerForItemOverride(
DependencyObject element, object item)
{
base.PrepareContainerForItemOverride(element, item);
((MyItem)item).DoSomethingOnPrepare();
}
protected override void ClearContainerForItemOverride(
DependencyObject element, object item)
{
((MyItem)item).DoSomethingOnClear();
base.ClearContainerForItemOverride(element, item);
}
}