由 Snackbar 引起的 C# ObjectDisposedException

C# ObjectDisposedException caused by Snackbar

我正在为 WPF/C# 使用 MaterialDesign Xaml 工具包,我想将 Snackbars(从下面弹出的消息栏)添加到我的应用程序。它有一个按钮,它被称为一个动作,与委托 Action 不同,为了简单起见,在此上下文中将其称为 btn_A3。当任务完成或发现错误时,弹出窗口会显示消息,当 btn_A3Exception 事件上单击时,它会在 [=] 中显示 Exception 堆栈跟踪17=], 谢天谢地,我以某种方式通过跟踪和错误设法实现了这一目标,因为互联网上的资源稀缺且令人困惑

但是当我关闭 MessageBox

时它会抛出 System.ObjectDisposedException : 'Safe handle has been closed'

这是我的代码

private void Button_Click(object sender, RoutedEventArgs e){
        try{
            int x = 0;
            x = int.Parse(smpl.Text);
            MessageBox.Show(x.ToString());}

        catch (Exception ex) {           
            List<String> santa= new List<String>();
            santa.Add(ex.Message);
            foreach (var s in santa){
                snackbar.MessageQueue.Enqueue(s,"SHOW ERROR", x => MessageBox.Show(ex.StackTrace), s);}}}

public void Enqueue<TArgument>(object content, object? actionContent, Action<TArgument?>? actionHandler, TArgument? actionArgument);

这个回答来自 @aepot 上面的人,感谢他,这让我完成了工作,谢谢!,现在您可以点击里面的按钮来显示您自己的消息

snackbar.MessageQueue.Enqueue(ex.Message, "SHOW ERROR", x => Dispatcher.BeginInvoke((Action)(() => MessageBox.Show(x.StackTrace))), ex);