1

我们有一个自定义对话框(源自ContentControl),它往往位于UserControl. Dialog 本身具有可以关闭的功能。经检查,关闭功能似乎只关闭 Dialog 本身,而不是其父容器。

public void CloseDialog()
{
    Visibility = Visibility.Collapsed;
    if (null != DialogClosedEvent)
        DialogClosedEvent();
}

我们的用户控件通常是这样创建的

<UserControl>
    <toolkit:OurDialog ... />
</UserControl>

现在这意味着当我们关闭一个对话框时,我们会留下许多UserControl没有任何东西的 s。这一切都如您所料 - 就能够查看和关闭对话框而言 - 但这会影响性能而留下空的 UserControls 吗?如果是这样,这个问题的最佳解决方案是什么?

4

1 回答 1

0

由于您稍后将再次“打开”这些对话框,因此有时您需要保持原样。我不希望您会看到任何真正的性能问题。我的意思是“关闭”它和“打开”它并没有真正为标记添加任何内容。你只是让它不可见。所以你并没有真正在运行时增殖它们。

简而言之,看看Window加载时的内存占用情况,如果你对此感到满意,那你就很好 - 通过使这些对话框可见与不可见,它不会改变。

于 2013-04-11T12:47:27.957 回答