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

WPF How to use MahApps.Metro MessagBox in UserControl

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

您需要获取对父项的引用 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 才能使用 MahApps.Metro 中的 ShowMessageAsync 方法显示对话框。