2012-11-28 5 views
0

UserControl을 싱글 톤으로 만들 수있는 방법이 있습니까?WPF Singleton UserControl?

예 : 내가 가진
MainWindow를 2에 추가 된 UserControls {UserControl을 'A'와 UserControl을 'B'}
MainWindow를 2 개 버튼 {버튼 ​​'UCA'과 버튼 'UCB'}
UserControl을 'A'가있다 TextBox.
시작시 UserControl 'A'가 MainWindow에로드되었습니다.
'UCB'버튼을 클릭하면 UserControl 'B'가 UserControl 'A'를 대체하고 'UCA'버튼을 클릭하면 UserControl 'A'가 UserControl 'B'를 대체합니다.

내 질문 :
UserControl 'A'가 활성화되면 TextBox에 "Test"를 입력 한 다음 UserControl 'B'로 전환했습니다. UserControl 'A'TextBox의 텍스트가 여전히있을 때 다시 전환해야합니다. 내 솔루션은 싱글 톤 UserControl을 만드는 것이지만 어떻게 해야할지 모르겠다.

NB : 이상은 단순한 예입니다. UserControl간에 전환 할 때 TextBox의 텍스트를 유지하는 것보다 더 복잡한 작업을 수행하고 싶습니다. 그러나 요점은 새 인스턴스를 만들지 않고 같은 인스턴스의 UserControl을 호출하는 방법입니다.

답변

0

대신 MainWindow에 두 개의 사용자 정의 컨트롤을로드하고 버튼을 눌렀을 때 표시 여부를 전환해야합니다. 당신의 UserControls가 XAML에서 AB라는 이름의 경우 예를 들어, 당신은 UCB.Click 처리기에 대한 코드 숨김에서 다음을 수행 할 것 :

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

UCA.Click 처리기에 대한 반대.

+0

음, 나는 UserControl을 변경할 때 전환 애니메이션을 사용하는 것을 잊어 버렸습니다. 따라서 코드는 다음과 같습니다. transiotion.Content = UserControl; UserControl을 전환 할 때. – Reyn