C# 为什么在TabControl上设置DataContext在第一次之后会变慢?

C# 为什么在TabControl上设置DataContext在第一次之后会变慢?,c#,wpf,tabcontrol,datacontext,C#,Wpf,Tabcontrol,Datacontext,我有一个TabControl,其中有多个TabItems,显示Person对象的不同方面。我正在将TabControl的DataContext设置为代码隐藏中的Person对象。我第一次这样做时,显示信息大约需要2-3秒。第一次之后,选择另一个人记录并设置DataContext大约需要25秒。你知道为什么第二次和随后的时间会花这么长时间吗?以及如何解决这个问题 Xaml: 每次选择是否需要更长的时间?或者每个后续选择的加载时间大致相同?每个后续选择的加载时间大致相同,约为25秒。重新选择加载的初

我有一个TabControl,其中有多个TabItems,显示Person对象的不同方面。我正在将TabControl的DataContext设置为代码隐藏中的Person对象。我第一次这样做时,显示信息大约需要2-3秒。第一次之后,选择另一个人记录并设置DataContext大约需要25秒。你知道为什么第二次和随后的时间会花这么长时间吗?以及如何解决这个问题

Xaml:


每次选择是否需要更长的时间?或者每个后续选择的加载时间大致相同?每个后续选择的加载时间大致相同,约为25秒。重新选择加载的初始记录(第一次需要2-3秒),现在大约需要25秒。能否显示演示相同问题的简化版本的代码?是否在绑定中使用任何
ValidationRule
s?只是猜测一下,但是每次您取消设置
DataContext
时,除了在设置新的
DataContext
时重新创建外,绑定的项目可能会以某种方式被清除。当然,第一次执行此操作时,不需要进行清理,而且这将比后续运行更快。
<TabControl x:Name="MyTabControl">
    <TabItem>
        <...controls databound to various properties of a Person object...>
    </TabItem>
</TabControl>
Person person = SelectedPerson;
MyTabControl.DataContext = person;