WPF如何在UserControl中使用MahApps.Metro MessagBox

时间:2017-03-27 11:43:08

标签: c# wpf mahapps.metro

在UserControl中,我无法使用方法ShowMessageAsync()。我该怎么做才能使用它。

1 个答案:

答案 0 :(得分:1)

您需要获得对父MetroWindow的引用。您可以使用Window.GetWindow方法执行此操作:

public partial class UserControl1 : UserControl
{
    public UserControl1()
    {
        InitializeComponent();
        this.Loaded += UserControl1_Loaded;
    }

    private async void UserControl1_Loaded(object sender, RoutedEventArgs e)
    {
        Metro.Controls.MetroWindow window = Window.GetWindow(this) as Metro.Controls.MetroWindow;
        if(window != null)
        {
            await window.ShowMessageAsync("This is the title", "Some message");
        }
    }
}

您始终需要引用MetroWindow才能使用ShowMessageAsync中的MahApps.Metro方法显示对话框。