我创建了一个带有mvvm架构的Wpf应用程序。 在主窗口中,我显示了一个用户控件。现在我需要在单击用户控件的按钮时,它将隐藏并在同一主窗口中打开另一个用户控件。
任何人都可以告诉我实现这一点。
答案 0 :(得分:0)
在按钮单击时引发的第一个用户控件中创建一个事件,例如:
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;
}