显示来自另一个用户控件的用户控件';s在主窗口中单击按钮

本文关键字:控件 用户 窗口 按钮 单击 另一个 显示 | 更新日期: 2023-09-27 18:20:14

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

有人能告诉我怎样才能做到这一点吗。

显示来自另一个用户控件的用户控件';s在主窗口中单击按钮

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

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

在您的窗口中,订阅该事件,在事件处理程序中,您可以隐藏控件(例如,通过将其Visibility设置为Collapsed),并显示另一个控件(例如:通过将其Visibility设置为Visible):

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