Silverlight 中,如果在控件的 KeyDown事件中调用 HtmlPage.Window.Alert() 方法,将会报System.ExecutionEngineException异常,但调用 MessageBox.Show() 方法不会出错。
如下代码:
< TextBox x : Name ="Test" KeyDown ="Test_KeyDown"/>
private void Test_KeyDown( object sender, System.Windows.Input. KeyEventArgs e)
{
HtmlPage .Window.Alert( "Hello, down" ); // 调用这句将会异常}
解决办法是改 keyDown事件为 KeyUp事件:
< TextBox x : Name ="Test" KeyUp ="Test_KeyUp"/>
private void Test_KeyUp( object sender, System.Windows.Input. KeyEventArgs e)
{
HtmlPage .Window.Alert( "Hello, up" ); // 调用这句正常}