是,否,取消Silverlight中的确认

时间:2010-05-03 12:39:28

标签: c# silverlight

我需要在我的silverlight应用程序中有“否取消确认”窗口。 我正在尝试使用子窗口来实现此目的。 但是this.Show();不会等到用户提出他的意见。

任何帮助?

由于

PS:我是银光的新手

6 个答案:

答案 0 :(得分:16)

如果只使用“确定”和“取消”按钮就可以了,你也可以使用Messagebox,虽然它看起来并不那么花哨。

MessageBoxResult result = MessageBox.Show("Lorem ipsum doso mitus dasam ...", 
    "The title", MessageBoxButton.OKCancel);

if (result == MessageBoxResult.OK) {
    MessageBox.Show("You clicked OK");
}

答案 1 :(得分:5)

使用子表单,因为您目前只是重新排列调用Show的代码: -

void SomeMethod()
{
   var dialog = new YesNoCancelDialog();
   dialog.Closed += (s, args) =>
   {
     switch (dialog.Result)
     {
        //Handle resulting user choice
     }
   }
   dialog.Show();
}

答案 2 :(得分:1)

查看此项目http://silverlightmsgbox.codeplex.com/。它提供了几个有用的消息框的简单但可呈现的实现,即确认,错误,信息,用户输入等,可能对您有所帮助。祝你好运。

答案 3 :(得分:0)

如果你想等待用户输入直到应用程序继续,你需要考虑实现一个模态对话框,你可以搜索google上有很多实现,如果你想要更多的帮助,我可以给你一些指针:)

答案 4 :(得分:0)

答案 5 :(得分:0)

如果您使用的是System.Windows.MessageBox,请确保在UI线程上调用.Show()。另外,在将闭包传递给BeginInvoke之前,先评估MessageBox.Show的参数,以避免不安全的线程访问。

<div id="fb-root"></div>
            <script>(function (d, s, id) {
                    var js, fjs = d.getElementsByTagName(s)[0];
                    if (d.getElementById(id))
                        return;
                    js = d.createElement(s);
                    js.id = id;
                    js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&amp;version=v2.5";
                    fjs.parentNode.insertBefore(js, fjs);
                }(document, 'script', 'facebook-jssdk'));</script>

<div class="fb-share-button" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button"></div>