第一次在博客园写文章 俺是菜鸟 有不足之处还请大佬们多多指教 第一次也不知道该写啥 俺就拿自己最近做的一个项目 来细说吧 俺们公司是做医疗卫生方面的  其中有一块涉及到应急卫生模拟演练方面

这块分到我这里 我就用SILVERLIGHT实现了 下面我给大家介绍一下项目

初始化的LOADING界面 这个设计不是俺原创呵呵 是在银光中国找到的  然后修改下了STYLE

因为SILVERLIGHT的机制大家都懂的 它第一次加载要下载XAP包 这个是需要时间的 默认那个界面呢效果不好 这块它提供了可以自定义的功能

首先现在承载SILVERLIGHT项目的网站中 添加一个XAML页 这个页面主要承载LOADING界面的设计

添加完后 就可以用BLEND工具进行STYLE上的设计

这里列出样式的代码如下

<?xml version="1.0" encoding="utf-8" ?>
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="LayoRoot" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="308" d:DesignWidth="554"> <Grid.Background> <RadialGradientBrush RadiusX="0.602" RadiusY="0.675"> <GradientStop Color="#FF5B91C4" Offset="1"/> <GradientStop Color="#FF96E8EF" Offset="0.273" /> </RadialGradientBrush> </Grid.Background>
<Grid Margin="0" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" HorizontalAlignment="Center" Height="180" Width="300"> <Grid Margin="0"> <Grid x:Name="elFuel" Margin="0" RenderTransformOrigin="0.5,0.5" Height="25"> <Grid.RenderTransform> <TranslateTransform x:Name="elFuelTranslateY"/> </Grid.RenderTransform> <Border x:Name="rectFuel" BorderThickness="1" Margin="1" Width="1" HorizontalAlignment="Left" CornerRadius="10"> <Border.Background> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="White" Offset="1"/> <GradientStop Color="Black" Offset="1"/> <GradientStop Color="#FF9DFFD9" Offset="1"/> <GradientStop Color="#FFEBEB45" Offset="1"/> <GradientStop Color="#FFEBEB67" Offset="0.872"/> </LinearGradientBrush> </Border.Background> </Border> <Border BorderThickness="1" CornerRadius="10"> <Border.Background> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#26097320" Offset="0"/> <GradientStop Color="#19FFFFFF" Offset="1"/> </LinearGradientBrush> </Border.Background> <Border.BorderBrush> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="White" Offset="0"/> <GradientStop Color="White" Offset="1"/> </LinearGradientBrush> </Border.BorderBrush> </Border> </Grid> <TextBlock x:Name="txtProcent2" Margin="0" Text="0%" TextWrapping="Wrap" FontSize="93.333" FontFamily="Arial Black" TextOptions.TextHintingMode="Animated" Foreground="#4CEEFFEE" FontWeight="Bold" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center" Height="132" Width="281" TextAlignment="Center"/> <TextBlock x:Name="txtPro" Margin="0" Text="loading......" TextWrapping="Wrap" FontFamily="Arial Black" TextOptions.TextHintingMode="Animated" Foreground="White" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="12"/>
<TextBlock FontFamily="Arial Black" FontSize="32" Foreground="White" HorizontalAlignment="Center" Margin="-5,128.75,-36,5" RenderTransformOrigin="0.5,0.5" Text="应急卫生综合模拟演练" TextOptions.TextHintingMode="Animated" TextWrapping="Wrap" VerticalAlignment="Center" Width="341" FontWeight="Bold" Height="46.25" />
</Grid>
</Grid> <Grid HorizontalAlignment="Right" Height="50" Margin="0,0,-11,0" VerticalAlignment="Center" Width="154"> <Rectangle Stroke="#FFBEBEBE" StrokeThickness="2" RadiusX="10" RadiusY="10"> <Rectangle.Fill> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#FF96E8EF" Offset="0.285"/> <GradientStop Color="#FF5B91C4" Offset="1" /> </LinearGradientBrush> </Rectangle.Fill> <Rectangle.Effect> <DropShadowEffect ShadowDepth="0" BlurRadius="20" Color="#FF7A7A7A"/> </Rectangle.Effect> </Rectangle> <TextBlock x:Name="txtProcent" HorizontalAlignment="Center" Margin="0,0,25,0" Text="0%" TextWrapping="Wrap" FontSize="32" FontFamily="Trebuchet MS" TextOptions.TextHintingMode="Animated" VerticalAlignment="Center" Foreground="White"/> <Path Data="M1,24.666666 L1,9.9996738 C1,9.9996738 -3,-7.6666665 8.666667,-8.666667 L143.32564,-8.666667 C143.32564,-8.666667 149.65897,-8.6663418 151.65886,-0.33317503 L151.65886,26.332958 C151.65886,26.332958 24.665447,-1.3330873 0.00012701056,26.999943" Fill="White" Margin="1,1.333,1.333,13" Stretch="Fill" StrokeThickness="2" UseLayoutRounding="False" Opacity="0.2"/> </Grid>
</Grid>

  

样式完成后 要在ASPX页面引用

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="silverlight.Web.Index" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head id="Head1" runat="server">

<link rel="icon" href="/setting.ico" type="image/x-icon" />
<link rel="shortcut icon" href="/setting.ico" type="image/x-icon" /> <%-- <title>综合演练[房间001] 应急卫生演练模拟</title>--%>
<style type="text/css">
html, body {
height: 100%;
overflow: auto;
}
body {
padding: 0;
margin: 0;
}
#silverlightControlHost {
height: 100%;
text-align:center;
}
</style>
<script type="text/javascript" src="Silverlight.js"></script>
<script type="text/javascript">
function onSilverlightError(sender, args) {
var appSource = "";
if (sender != null && sender != 0) {
appSource = sender.getHost().Source;
} var errorType = args.ErrorType;
var iErrorCode = args.ErrorCode; if (errorType == "ImageError" || errorType == "MediaError") {
return;
} var errMsg = "Unhandled Error in Silverlight Application " + appSource + "\n"; errMsg += "Code: " + iErrorCode + " \n";
errMsg += "Category: " + errorType + " \n";
errMsg += "Message: " + args.ErrorMessage + " \n"; if (errorType == "ParserError") {
errMsg += "File: " + args.xamlFile + " \n";
errMsg += "Line: " + args.lineNumber + " \n";
errMsg += "Position: " + args.charPosition + " \n";
}
else if (errorType == "RuntimeError") {
if (args.lineNumber != 0) {
errMsg += "Line: " + args.lineNumber + " \n";
errMsg += "Position: " + args.charPosition + " \n";
}
errMsg += "MethodName: " + args.methodName + " \n";
} throw new Error(errMsg);
} function onSourceDownloadProgressChanged(sender, eventArgs) { sender.findName("rectFuel").Width = eventArgs.progress * 300;
sender.findName("txtProcent").Text = Math.round((eventArgs.progress * 100), 0).toString() + "%"; sender.findName("txtProcent2").Text = Math.round((eventArgs.progress * 100), 0).toString() + "%"; // var progressTextBlock = sender.findName("ProgressTextBlock");
// progressTextBlock.Text = (Math.round(args.progress * 100)) + "%"; }
function appDownloadComplete(sender, args) { } </script>
</head>
<body>
<form id="form1" runat="server" style="height:100%">
<div id="silverlightControlHost" style="height: 100%; width:100%">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/silverlight.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="4.0.50401.0" />
<param name="autoUpgrade" value="true" />
<param name="splashScreenSource" value="load.xaml" />
<param name="onSourceDownloadProgressChanged" value="onSourceDownloadProgressChanged" />
<param name="onSourceDownloadComplete" value="appDownloadComplete" />
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style="text-decoration:none">
<img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
</a> </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
</form>
</body>
</html>

  onSourceDownloadProgressChanged事件 用于显示下载的进度  xap包下载完成会触发appDownloadComplete事件 这里值得注意的是LOADING界面中 不能放入控件 我试过 会提示错误 可能控件都要有一些事件 所以不支持吧

SILVERLIGHT 应急卫生模拟演练项目之loading界面实现的更多相关文章

  1. SILVERLIGHT 应急卫生模拟演练项目之GRID布局

    上篇文章 我介绍了LOADING界面 loading加载完成后 会进入主界面 效果图如下 这里我要给大家说一下我在布局方面的应用  说起布局 做过SL开发的一定都知道 Grid,StackPanel和 ...

  2. SILVERLIGHT 应急卫生模拟演练项目之childwindow

    项目中经常要用到childwindow 默认SL提供的界面很不好看 也很难适应系统里的要求 单调的界面 木关系 可以我们可以通过BLEND自定义成我们想要的 首先新建立一个SILVERLIGHT 子窗 ...

  3. 使用ViewPager模拟实现应用程序启动界面

    经常在开发应用程序的时候,软件启动有启用动画界面,一般使用图片来进行界面该版本最新更新等等内容,今天来使用ViewPager来模拟实现这功能,也希望对大家有个小小的参考作用,在以后的项目中能够使用到. ...

  4. cocos2d-x游戏开发(十五)游戏加载动画loading界面

    个人原创,欢迎转载:http://blog.csdn.net/dawn_moon/article/details/11478885 这个资源加载的loading界面demo是在玩客网做逆转三国的时候随 ...

  5. Cocos Creator—定制H5游戏首页loading界面

    Cocos Creator从1.0版本发布到现在也有一年多了,按理说一些常见的问题网上都有解决方案,例如"如何自定义首页加载进度条界面"这种普遍需求,应该所有人都会遇到的,因此也有 ...

  6. cocos2d-x 3.0 Loading界面实现

    这个世界每一天都在验证我们的渺小,但我们却在努力创造,不断的在这生活的画卷中留下自己的脚印.或许等到我们老去的那一天,老得不能动仅仅能靠回顾的那一天.你躺在轮椅上,不断的回顾过去.相思的痛苦忘不了,相 ...

  7. cocos2d-x游戏开发(十五)游戏载入动画loading界面

    这个资源载入的loading界面demo是在玩客网做逆转三国的时候随手写的,尽管我在那仅仅待了2个礼拜.可是也算參与了一个商业游戏项目了,学到不少东西.当时使用的cocos2d-x还是1.0版的,我用 ...

  8. 青瓷引擎使用心得——修改引擎的loading界面

    一. 修改引擎的Loading界面之使用进度条显示1. 双击打开引擎包中的lib/qc-loading-debug.js,如下图所示: 2. 只需要修改qici.init函数即可改变loading界面 ...

  9. WPF案例 (三) 模拟QQ“快速换装"界面

    原文:WPF案例 (三) 模拟QQ"快速换装"界面 这个小程序使用Wpf模拟QQ快速换装页面的动画特效,通过使用组合快捷键Ctrl+Left或Ctrl+Right,可实现Image ...

随机推荐

  1. Swift 06.Closures

    Closures --闭包 看了好些文章.由于自己也是刚开始学习swift,闭包还是不是很明白.暂时先放放.等看完后面的.加深感触后,在回头总结闭包的概念. 数组中常用的闭包函数 在Swift的数组中 ...

  2. EntityFramework CodeFirst SQLServer转Oracle踩坑笔记

    接着在Oracle中使用Entity Framework 6 CodeFirst这篇博文,正在将项目从SQLServer 2012转至Oracle 11g,目前为止遇到的问题在此记录下. SQL Se ...

  3. C# cmd执行命令

    CMD命令执行 ///<summary>         /// cmd命令执行,在cmd上可以执行的语句,直接传到这里,调用grads画图实例如下:         ///  Cmd(& ...

  4. [html]head区域编写规范

    一.必须加入的标签 1.meta 2.title 3.css 4.字符集 <meta charset="utf-8"/> 二.可加入的标签 1.设定网页到期时间,一旦网 ...

  5. 【转】valueof()用法

    valueOf()用来返回对象的原始类型的值. 语法 booleanObject.valueOf() 代码:<script> var a = new String("valueO ...

  6. js解决IE8、9下placeholder的兼容问题

    由于placeholder是html5的新属性,在IE8.IE9下是不能显示的,有兼容性问题. 解决思路: 1.判断目前浏览器是否支持placeholder属性 2.若不支持,则将type=" ...

  7. MicroERP数据初始化SQL脚本

    --use MicroERP insert into tbUserGroup(GroupName,Remark) values('管理员组','具备所有权限')insert into tbUser(L ...

  8. JQuery 判断不同浏览器

    if($.browser.msie) {          //IE浏览器alert("this is msie"); } else if($.browser.safari)   ...

  9. 作业七:团队项目——Alpha版本冲刺阶段008

    今日进度:组内成员讨论 今日安排:组内成员分工

  10. web前端从0开始--1

    博主以前没接触过web前端,最近刚开始学习. 在学习的同时,希望能不断整理总结.于是便有了此博客. 博主技术浅薄,并且第一次写此类博客,希望各位大牛能多多保函. 好了废话不多说了,开始正文. web前 ...