我在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";
}
很容易看到,在全屏模式下,您无法在文本框中写入文本。我在这里做错了吗?有没有其他方法可以切换全屏,所以这不会发生?
答案 0 :(得分:6)
此链接可以帮助您:http://silverlight.net/forums/p/11519/36798.aspx
修改强>
此MSDN article为您提供了更详细的理由:
当Silverlight插件处于全屏模式时,它会禁用大多数键盘事件。在全屏模式期间键盘输入的这种限制是安全特征,并且旨在最小化用户输入非预期信息的可能性。在全屏模式下,唯一允许的输入是通过以下键。
向上箭头,向下箭头,向左箭头,向右箭头,空格键,标签,向上翻页,向下翻页,首页,结束,输入