【发布时间】:2015-03-08 16:01:50
【问题描述】:
在 WinRT WP8.1 应用上使用 ListView:
我正在尝试在 ListView 上使用 ContainerContentChanging 事件 -
private void ListOnContainerContentChanging(ListViewBase sender, ContainerContentChangingEventArgs args)
{
var viewer = args.ItemContainer.ContentTemplateRoot as View;
if (viewer == null)
{
return;
}
if (args.InRecycleQueue)
{
viewer.ClearData();
}
else if (args.Phase == 0)
{
viewer.ShowPlaceholder(args.Item as ViewModel);
args.RegisterUpdateCallback(this.ContainerContentChangingDelegate);
}
else if (args.Phase == 1)
{
// Load
args.RegisterUpdateCallback(this.ContainerContentChangingDelegate);
}
else if (args.Phase == 2)
{
// Load more
args.RegisterUpdateCallback(this.ContainerContentChangingDelegate);
}
else if (args.Phase == 3)
{
// Show images
}
args.Handled = true;
}
我遇到的问题是 ContainerContentChangingEventArgs 上的 Phase 属性在滚动查看更多项目时始终为 0。
(对于初始视图中加载的项目,一切正常 - 只有当我开始滚动时,没有项目更新超过其占位符。
知道为什么 hase 属性不会更新吗?
【问题讨论】:
标签: c# windows windows-runtime windows-phone-8.1 winrt-xaml