SIlverlight 4中的提示框

时间:2012-02-16 05:49:39

标签: javascript silverlight-4.0 event-handling quick-search

我在Silverlight页面上捕获了一个关键组合新闻事件。现在在事件处理程序中我想显示一个提示框,它将用户输入和存储到字符串变量中。 我输入了这段代码:

string input = System.Windows.Browser.HtmlPage.Window.Invoke("prompt", new string[] { "QUICK SEARCH", "ENTER YOUR SEARCH ITEM.." }) as string;

但是当我运行它时,它向我显示AccessViolation错误的运行时错误未处理说:“尝试读取或写入受保护的内存。这通常表明其他内存已损坏。” 任何解决方案??

1 个答案:

答案 0 :(得分:0)

通过大量搜索,我发现Silverlight applcation是一个单线程活动。 在上面的语句中,我试图调用另一个线程。 我不得不使用Dispatcher来解决这个问题。 这就是代码的用法..

this.Dispatcher.BeginInvoke(() => javaScriptpopup(sender1, e1));

然后在javaScriptPopup中,我调用了我的字符串input = System.Windows.Browser.HtmlPage.Window.Invoke(“prompt”,new string [] {“QUICK SEARCH”,“输入你的搜索项目..”} )作为字符串;言。

这里sender1和e1是Object和Keyeventargs类型!!