【问题标题】:Showing User control from another user control's button click in Main Window在主窗口中单击另一个用户控件的按钮显示用户控件
【发布时间】:2023-03-28 01:10:01
【问题描述】:

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

谁能告诉我如何实现这一目标。

【问题讨论】:

标签: c# wpf mvvm


【解决方案1】:

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

public event EventHandler HideButtonClicked;

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

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

FirstUserControl.HideButtonClicked += OnHideButtonClicked;

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    • 2017-03-23
    相关资源
    最近更新 更多