如果视图已经存在,如何避免创建视图

时间:2014-04-01 10:59:09

标签: wpf mvvm object-lifetime

我有一个如下所示的列表框:

<ListBox ItemsSource="{Binding Clients}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <controls:ClientItem />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

我的窗口中有几个选项卡,根据选定的选项卡构建Clients集合。问题是每次切换选项卡时都会调用ClientItem构造函数,并且gui工作缓慢。列表框中通常有10-20个客户端,我可以在vs分析器中看到ClientItem构造函数消耗了大部分时间。

是否有可能告诉wpf如果它已经存在则不创建ClientItem视图?

0 个答案:

没有答案