我有兴趣使用具有以下行为的 ExpanderView 控件:
- 我知道在填充标题时是否应该有可扩展的项目,但我不知道有多少并且不想添加项目,直到点击标题以展开它(例如,因为需要使用网络请求)。
- 我最终会将 ExpanderControls 作为列表中的项目,但我首先使用的是最简单的场景。
似乎这将是一个常见的场景,以延迟加载可扩展项目。
所以我在 Expanded 事件中实现了简单的代码来加载尚未加载的项目:
if (!expanded)
{
for (var x = 1; x <= 10; x++)
{
((ExpanderView)sender).Items.Add(new TextBlock() { Text = "Added this on expanded " + x.ToString() });
}
expanded = true;
}
这样做的问题是第一次没有正确呈现项目(控件下方的任何内容都没有“下推”以允许项目空间),大概是因为控件事先不知道项目内容。在随后的扩展中,项目将正确显示。
任何人都知道如何使用 ExpanderView 实现这种延迟加载?