【发布时间】:2023-03-28 01:10:01
【问题描述】:
我创建了一个具有 mvvm 架构的 Wpf 应用程序。 在主窗口中,我展示了一个用户控件。现在我需要当我点击用户控件的按钮时,它会隐藏并在同一个主窗口中打开另一个用户控件。
谁能告诉我如何实现这一目标。
【问题讨论】:
-
请通过此链接。它将帮助您获得良好的帮助。 stackoverflow.com/help/how-to-ask
我创建了一个具有 mvvm 架构的 Wpf 应用程序。 在主窗口中,我展示了一个用户控件。现在我需要当我点击用户控件的按钮时,它会隐藏并在同一个主窗口中打开另一个用户控件。
谁能告诉我如何实现这一目标。
【问题讨论】:
在单击按钮时引发的第一个用户控件中创建一个事件,例如:
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;
}
【讨论】: