0

有没有办法让 UserControl 成为单例?

例如:
我有一个 MainWindow 和 2 个用户控件 {UserControl 'A' 和 UserControl 'B'}
MainWindow 有 2 个按钮 {Button 'UCA' 和 Button 'UCB'}
UserControl 'A' 有一个文本框。
在启动时,我将 UserControl 'A' 加载到 MainWindow。
当我单击按钮“UCB”时,用户控件“B”将替换用户控件“A”,当我单击按钮“UCA”时,用户控件“A”将替换用户控件“B”。

我的问题是:
当 UserControl 'A' 被激活时,我在 TextBox 上键入“Test”,然后我切换到 UserControl 'B'。当我切换回 UserControl 'A' 时,我希望 TextBox 上的文本仍然存在。我的解决方案是创建单例 UserControl 但我不知道该怎么做。

注意:上面只是简单的例子,我想要实现的比在 UserControl 之间切换时在 TextBox 中保持一个文本更复杂。但是,关键是如何在不创建新实例的情况下调用同一个 UserControl 实例。

4

1 回答 1

0

相反,您应该在 MainWindow 中加载两个用户控件,并在按下按钮时切换它们的可见性。例如,如果您的 UserControls 被命名A并且B在 Xaml 中,您将在代码隐藏中为UCB.Click处理程序执行以下操作:

B.Visibility = Visibility.Visible;
A.Visibility = Visibility.Collapsed;

UCA.Click处理程序则相反。

于 2012-11-28T04:46:19.023 回答