C# 自定义messagebox中的操作回调

C# 自定义messagebox中的操作回调,c#,silverlight,callback,C#,Silverlight,Callback,这是我的代码中定义的函数 public static void ConfirmMessage(string title, string msg, Action callback) { DialogWindow dlg = new DialogWindow(); dlg.Title = title; dlg.Message.Content = msg; dlg.OKButton.Unloaded += delegate

这是我的代码中定义的函数

    public static void ConfirmMessage(string title, string msg, Action callback)
    {
        DialogWindow dlg = new DialogWindow();
        dlg.Title = title;
        dlg.Message.Content = msg;
        dlg.OKButton.Unloaded += delegate { if (callback != null) { callback(); } };
        dlg.Show();
    }

如何调用此函数,使其执行代码中定义的自定义函数?有人能举个例子吗?

这里有一个简单的例子:

ConfirmMessage("Hello", "World", () => { /* your code here */ });

dlg.OKButton.unload+=(s1,e1)=>{if(callback!=null){callback();};

delegate
System.Action
表示没有参数但不返回值的函数。 因此,您可以这样使用您的方法:

void myFunction()
{
    //your code
}

//then...

ConfirmMessage("Dialog caption", "Dialog text", myFunction);