怎么样使用Splash Screen来过渡基于Silverlight的应用程序的下载过程
2008-10-04 11:37:40 来源:WEB开发网最后一笔
到这一步,splash screen 和 downloader 都已经创建完成了. 然而, 你可能想添加更多 UI到你的托管代码里,这样在完成转换后你能看到更多有趣的东西. 目前来说,你只是加载了一个几乎为空的XAML file.
完善project中的托管代码呈现
打开 Page.xaml 进行编辑. 粘贴 TextBlock element 到Canvas 根下. 给这个element 的 x:Name赋值,并添加一些文字内容.
注意
在运行的时候, 这并不是真正使用的页. 真正的页内容是从前面的那个步骤(即用字符串编写的XAML内容). 你这样做只是重覆这个过程,这将为编译后的文件能得到前台对象的正确引用提供服务.
编辑x:Class 属性. 从assembly 值中移除 "ClientBin/" . 你这是在模拟客户端的行为,因为downloader只将下载完的文件放在HTML页的同级下. (你不能设置downloader的下载文件存放在客户端的路径)
CS
<Canvas x:Name="parentCanvas"
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Loaded="Page_Loaded"
x:Class="SplashScreenDownload.Page;assembly=SplashScreenDownload.dll"
Width="640"
Height="480"
Background="White"
>
<TextBlock x:Name="myTextBlock">Hello</TextBlock>
</Canvas>
在Solution Explorer中, 右键单击 project 然后 选择 Properties. 在 Build 选框中, 从Output Path中删除 "/ClientBin" (这个值应该是个空值,这样才能保证你的assembly将 build到你的 project 根下).
打开 Page.xaml.cs 进行编辑(如果你用VB则是 Page.xaml.vb). 添加一行代码到已经存在的Loaded event handler中来 .
CS
public void Page_Loaded(object o, EventArgs e)
{
// Required to initialize variables
InitializeComponent();
myTextBlock.Text = "Hello ... from unmanaged code.";
}
Compile应用程序.你将可以看到在下载过种中splash screen显示出来了. 为了得到最好的观察效果 (当然,这也将是最耗时间的), 你应该远程的来查看 project. 你可以把project放到别的远程机器上,然后你再访问.
更多精彩
赞助商链接