概述 Silverlight 2 Beta 1版本发布了无论从Runtime还是Tools都给我们带来了很多惊喜如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython对JSON、Web Service、WCF以及Sockets支持等系列新特性步步学Silverlight 2系列文章带您快速进入Silverlight 2开发
本文为系列文章第 7篇介绍如何在Silverlight 2中使用全屏模式
实现全屏模式 全屏模式有时候是非常有用在Silverlight中提供了很好支持实现起来也非常简单其实只有行代码编写个简单XAML
<Canvas Background="#46461F">
<Button x:Name="toggleButton" Background="Red" Width="200" Height="80"
Canvas.Top="80" Canvas.Left="150" Content="Toggle Full Screen"
FontSize="20" Click="toggleButton_Click"/>
<Image x:Name="image" Source="smile_6.png"
Canvas.Top="100" Canvas.Left="40"></Image>
</Canvas>
引入命名空间using .Windows.Interop;
在按钮单击事件中添加实现代码private void toggleButton_Click(object sender, RoutedEventArgs e)
{
Content contentObject = Application.Current.Host.Content;
contentObject.IsFullScreen = !contentObject.IsFullScreen;
}
获取当前Silverlight插件“Content”对象并设置IsFullScreen属性运行后单击按钮将会变为全屏模式再次单击按钮(或者按Esc键)返回普通模式捕获相关事件 有时候我们需要在全屏模式和普通模式的间切换时添加个其它代码这时可以使用事件FullScreenChanged
public Page
{
InitializeComponent;
Application.Current.Host.Content.FullScreenChanged EventHandler(Content_FullScreenChanged);
}
实现事件处理private void Content_FullScreenChanged(object sender, EventArgs e)
{
Content contentObject = Application.Current.Host.Content;
(contentObject.IsFullScreen)
{
toggleButton.Background = SolidColorBrush(Colors.Green);
toggleButton.Content = "Full Screen Mode";
}
{
toggleButton.Background = SolidColorBrush(Colors.Red);
toggleButton.Content = "Normal Mode";
}
}
在普通模式和全屏模式的间切换时改变按钮背景色和文字运行后点击按钮:切换为普通模式:
完整代码如下:
public partial Page : UserControl
{
public Page
{
InitializeComponent;
Application.Current.Host.Content.FullScreenChanged EventHandler(Content_FullScreenChanged);
}
private void toggleButton_Click(object sender, RoutedEventArgs e)
{
Content contentObject = Application.Current.Host.Content;
contentObject.IsFullScreen = !contentObject.IsFullScreen;
}
private void Content_FullScreenChanged(object sender, EventArgs e)
{
Content contentObject = Application.Current.Host.Content;
(contentObject.IsFullScreen)
{
toggleButton.Background = SolidColorBrush(Colors.Green);
toggleButton.Content = "Full Screen Mode";
}
{
toggleButton.Background = SolidColorBrush(Colors.Red);
toggleButton.Content = "Normal Mode";
}
}
}
结束语 本文简单介绍了Silverlight 2中对于全屏模式支持你可以下载本文举例代码
最新评论