Events ItemsControl的任何/所有元素添加到VisualTree时是否会触发任何事件?
Events ItemsControl的任何/所有元素添加到VisualTree时是否会触发任何事件?,events,windows-runtime,winrt-xaml,Events,Windows Runtime,Winrt Xaml,FrameworkElement.Loaded在容器添加到树中时发生 我需要根据添加到ItemsControl的所有数据绑定项的测量值进行一些自定义滚动 我可以连接到一个事件,比如LayoutUpdated,然后跟踪子代,计算子代,但这是一项相当繁重的工作 将ItemsControl的任何/所有数据绑定元素添加到VisualTree时是否会触发任何事件?您可以将ItemsControl子类化,以获得获取项目的最佳性能: public class CustomListView : ListView
FrameworkElement.Loaded
在容器添加到树中时发生
我需要根据添加到ItemsControl
的所有数据绑定项的测量值进行一些自定义滚动
我可以连接到一个事件,比如LayoutUpdated
,然后跟踪子代,计算子代,但这是一项相当繁重的工作
将ItemsControl的任何/所有数据绑定元素添加到VisualTree时是否会触发任何事件?您可以将ItemsControl子类化,以获得获取项目的最佳性能:
public class CustomListView : ListView
{
protected override DependencyObject GetContainerForItemOverride()
{
var listViewItem = base.GetContainerForItemOverride();
// process the ListViewItem
return listViewItem;
}
}
有用的信息,但不幸的是,这不是我问题的答案。这是假设
ItemsControl
是一个ListView
。如果它只是一个ItemsControl
,那么在我的代码中,可以用ItemsControl替换ListView,用contentPresenter替换listViewItem。当您知道返回的容器数量是您期望加载的数量时,即是将所有元素添加到树中的时间。请记住,如果ItemsPanel是一个虚拟化面板,那么通常不会同时加载所有项目。没有一个可靠的事件知道所有这些事件都已添加。