为什么在全屏模式下我没有得到键盘输入事件?

时间:2009-04-02 09:40:38

标签: silverlight silverlight-2.0

我在Silverlight全屏模式下遇到了一些问题。

如果我将应用程序切换到全屏,则不会处理键盘的所有输入。没有文本框输入,没有按键/按键事件,可能还有更多。这是一个示例应用程序,用于演示:

Xaml:

<Canvas>

<TextBlock Text="Try some input:" Canvas.Top="10" Width="100"></TextBlock>

<TextBox x:Name="tboxInput" Width="100" Canvas.Top="30"></TextBox>

<Button x:Name="btnFullScreen" Content="Go Full Screen" Canvas.Top="60"></Button>

</Canvas>

代码背后:

public Page() 
{

InitializeComponent();

btnFullScreen.Click += new RoutedEventHandler(btnFullScreen_Click); 
}

void btnFullScreen_Click(object sender, RoutedEventArgs e) 
{

Application.Current.Host.Content.IsFullScreen = !Application.Current.Host.Content.IsFullScreen; 
if (!Application.Current.Host.Content.IsFullScreen)

btnFullScreen.Content = "Go Full Screen"; 
else

btnFullScreen.Content = "Go Normal Screen"; 
}

很容易看到,在全屏模式下,您无法在文本框中写入文本。我在这里做错了吗?有没有其他方法可以切换全屏,所以这不会发生?

1 个答案:

答案 0 :(得分:6)

此链接可以帮助您:http://silverlight.net/forums/p/11519/36798.aspx

修改

MSDN article为您提供了更详细的理由:

  

当Silverlight插件处于全屏模式时,它会禁用大多数键盘事件。在全屏模式期间键盘输入的这种限制是安全特征,并且旨在最小化用户输入非预期信息的可能性。在全屏模式下,唯一允许的输入是通过以下键。

     

向上箭头,向下箭头,向左箭头,向右箭头,空格键,标签,向上翻页,向下翻页,首页,结束,输入