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是一个虚拟化面板,那么通常不会同时加载所有项目。没有一个可靠的事件知道所有这些事件都已添加。