2012-02-17 114 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未显示出来。如果父母被隐藏,孩子们也会隐藏它(因为父母的控制权也在父母身上)。 – 2012-02-18 10:28:15

+0

正如你所说的:“...当我点击'创建新'时,使用自定义事件应该消失”loginControl“窗口。” – JiKra 2012-02-18 11:48:01