KeyDown 事件中引发System.ExecutionEngineException异常

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" ); // 调用这句正常

}

 

 

你可能感兴趣的:(Silverlight)