在另一个用户控件的按钮中显示用户控件,在主窗口中单击

时间:2014-08-30 18:22:08

标签: c# wpf mvvm

我创建了一个带有mvvm架构的Wpf应用程序。 在主窗口中,我显示了一个用户控件。现在我需要在单击用户控件的按钮时,它将隐藏并在同一主窗口中打开另一个用户控件。

任何人都可以告诉我实现这一点。

1 个答案:

答案 0 :(得分:0)

在按钮单击时引发的第一个用户控件中创建一个事件,例如:

public event EventHandler HideButtonClicked;

private void Button_Click(object sender, RoutedEventArgs e)
{
    if (HideButtonClicked != null)
        HideButtonClicked(this, EventArgs.Empty);
}

在您的窗口中,订阅该事件,并在事件处理程序中隐藏控件(例如,通过设置其VisibilityCollapsed)并显示另一个(例如,通过设置其VisibilityVisible):

FirstUserControl.HideButtonClicked += OnHideButtonClicked;

private void OnHideButtonClicked(object sender, EventArgs args)
{
    ((MyUsercontrol)sender).Visibility = Visibility.Collapsed;
    SomeOthercontrol.Visibility = Visibility.Visible;
}