2012-02-17 10 views
0

하나의 "MainWindow"로 구성된 애플리케이션을 가지고 있고 메인 내에서 사용자 콘트롤을 호출했습니다 "loginControl";사용자 컨트롤의 사용자 정의 이벤트

<!-- Login user Control --> 
<local:LoginView x:Name="loginControl" HorizontalAlignment="Center" VerticalAlignment="Center" /> 

이제 "loginControl"내부에도 이와 같은 세 가지 컨트롤이 있습니다.

<local:ForgotPassword x:Name="userControlForgotPassword" Visibility="Collapsed" /> 
<local:CreateNewUser x:Name="userControlCreateNew" Visibility="Collapsed" /> 
<local:ChangePassword x:Name="userControlChangePassword" Visibility="Collapsed" /> 

"loginControl"의 코드에서 이러한 이벤트를 호출했습니다.

private void hyperLinkCreateNew_Click(object sender, RoutedEventArgs e) 
{ 
    userControlCreateNew.Visibility = System.Windows.Visibility.Visible; 
} 

private void hyperForgotPassword_Click(object sender, RoutedEventArgs e) 
{ 
    userControlForgotPassword.Visibility = System.Windows.Visibility.Visible; 
} 

private void hyperLinkChangePassword_Click(object sender, RoutedEventArgs e) 
{ 
    userControlChangePassword.Visibility = System.Windows.Visibility.Visible; 
} 

지금, 내가 원하는 내가 클릭 할 때 ('loginControl'에 링크 인 및 "새로운 USR 컨트롤을 만듭니다"의 가시성을 변경) "새로 만들기"는 것이다. 사용자 정의 이벤트를 사용하여 "loginControl"창이 사라져야합니다. 내가 어떻게 할 수 있니?. 미리 감사드립니다.

답변

1
private void hyperLinkCreateNew_Click(object sender, RoutedEventArgs e) 
{ 
    userControlCreateNew.Visibility = System.Windows.Visibility.Visible; 
    Window parent = Window.GetWindow(this); 
    LoginView loginView = (LoginView)(parent.FindName("loginControl")); 
    loginView.Visibility = System.Windows.Visibility.Hidden; 
} 
+0

hyperLinkCreateNew를 클릭하면이 코드가 loginControl을 숨기지 만 userControlCreateNew가 표시되지 않습니다. 부모가 숨겨져있는 경우 자식 컨트롤도 부모 컨트롤에 있기 때문에 숨 깁니다. –

+0

당신이 말했듯이 : "... 새로 만들기 '를 클릭하면"loginControl "창이 사용자 정의 이벤트를 사용하여 사라져야합니다." – JiKra

관련 문제