我需要在我的silverlight应用程序中有“否取消确认”窗口。
我正在尝试使用子窗口来实现此目的。
但是this.Show();
不会等到用户提出他的意见。
任何帮助?
由于
PS:我是银光的新手
答案 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)
来自Silverlights论坛:http://forums.silverlight.net/forums/p/86341/200660.aspx
答案 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&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>