WPF遮蔽层的实现
在一些项目中,难免会有耗时的加载,如果加载时没有提示,给人一种假死的感觉,很不友好,那么现在福利来啦,WPF版的模态窗体,先上效果图
实际效果指针是转动的,话不多说,一大批干货来袭
XMAL的代码
- Window x:Class="ZhiHeng.IntelligentExpress.WpfUI.Views.CoverForm"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- Title="CoverForm" x:Name="Window"
- Style="{StaticResource WindowsStyle}" Opacity="0.5">
- <Window.Resources>
- <Storyboard x:Key="Storyboard1">
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" RepeatBehavior="Forever" Storyboard.TargetName="ellipse" Storyboard.TargetProperty="(UIElement.Opacity)">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse1">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse2">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse3">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse4">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse5">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse6">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse7">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse8">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse9">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse10">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse11">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse12">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse13">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse14">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse15">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse16">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse17">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" RepeatBehavior="Forever" Storyboard.TargetName="border" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" RepeatBehavior="Forever" Storyboard.TargetName="border1" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)">
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- <SplineDoubleKeyFrame KeyTime=" />
- </DoubleAnimationUsingKeyFrames>
- </Storyboard>
- </Window.Resources>
- <Window.Triggers>
- <EventTrigger RoutedEvent="FrameworkElement.Loaded">
- <BeginStoryboard Storyboard="{StaticResource Storyboard1}" />
- </EventTrigger>
- </Window.Triggers>
- <Grid x:Name="LayoutRoot">
- <Viewbox Width=">
- <Grid HorizontalAlignment=" VerticalAlignment="Center" Width="3.333" Height="3.333" Visibility="Visible">
- <Ellipse RenderTransformOrigin="0.468,3.443" x:Name="ellipse" Fill="Black" Stroke="{x:Null}" />
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse0" >
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse1" >
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse2" >
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse3">
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse4">
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse5">
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse6" >
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse7" >
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse8" >
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse9" >
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse10" >
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse11" >
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse12" >
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse13" >
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse14" >
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse15" >
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse16" >
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse17" >
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Ellipse RenderTransformOrigin="0.5,0.499" x:Name="ellipse_Copy" Fill="Black" Stroke="{x:Null}" Margin="-0.012,0,0.001,-9.67" VerticalAlignment="Bottom" Height="3.344">
- <Ellipse.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Ellipse.RenderTransform>
- </Ellipse>
- <Border RenderTransformOrigin="0.492,1.006" Margin="1.081,0,1.086,-8.056" x:Name="border" VerticalAlignment="Bottom" Height="8.622" Background="Black" CornerRadius="1,1,0,0">
- <Border.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Border.RenderTransform>
- </Border>
- <Border Height="4.994" Background="Black" CornerRadius="1,1,0,0" RenderTransformOrigin="0.496,1.001" Margin="0.705,0,0.714,-8.058" x:Name="border1" VerticalAlignment="Bottom">
- <Border.RenderTransform>
- <TransformGroup>
- <ScaleTransform ScaleX=" />
- <SkewTransform AngleX=" />
- <RotateTransform Angle=" />
- <TranslateTransform X=" />
- </TransformGroup>
- </Border.RenderTransform>
- </Border>
- </Grid>
- </Viewbox>
- <Label Content=" Foreground="Orange" HorizontalAlignment="Left" Margin="396,668,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.274,0.462"/>
- </Grid>
- </Window>
后台C#代码
- public partial class CoverForm : Window
- {
- public CoverForm(Action workAction)
- {
- InitializeComponent();
- this.workAction = workAction;
- System.Threading.Thread t = new System.Threading.Thread(ExecWorkAction);
- t.IsBackground = true;
- t.Start();
- }
- private Action workAction = null;
- private void ExecWorkAction()
- {
- try
- {
- var workTask = new Task(workAction);
- workTask.Start();
- Task.WaitAll(workTask);
- }
- finally
- {
- this.Dispatcher.Invoke(new Action(() => { this.Close(); }));
- }
- }
- }
调用的代码
- new CoverForm(() => {耗时的代码 }); }).Show();
有需要的尽管拿去吧,要问我是谁,请叫我是雷锋。
WPF遮蔽层的实现的更多相关文章
- WPF 蒙层罩,正在加载
参考园子里的一篇文章,比较好用.可以直接用,可以自己改. 动画效果: 容器的触发器,旋转容器: 属性配置:使用依赖属性,并且在xaml中写绑定.
- Loading 遮蔽层 简单实现。
<!--背景div--><div id="bg" class="bg" style="display:none;text-align ...
- HTML页面弹出自定义对话框带遮蔽罩(使用JavaScript)
转载:http://blog.sina.com.cn/s/blog_610f47c50100ohe4.html 原理其实很简单:首先绘制弹出的自定义对话框,将其使用display:none隐藏,因为设 ...
- 10、WPF程序集
WPF核心程序集 PresentationCore.dll:这个程序集定义了许多构成WPF GUI层基础的类型.例如包含WPF Ink API(pc笔针输入,手写输入)的支持.几个动画基元以及几个图形 ...
- WPF核心对象模型-类图和解析
DispatcherObject是根基类,通过继承该类,可以得到访问创建该对象的UI线程的Dispatcher对象的能力.通过Dispatcher对象,可以将代码段合并入该UI线程执行. Depend ...
- dotnet 读 WPF 源代码笔记 渲染收集是如何触发
在 WPF 里面,渲染可以从架构上划分为两层.上层是 WPF 框架的 OnRender 之类的函数,作用是收集应用程序渲染的命令.上层将收集到的应用程序绘制渲染的命令传给下层,下层是 WPF 的 GF ...
- HTML+CSS项目开发总结
好几天没更新博客了,刚实战完一个HTML+CSS的简单项目.经过几天的摸索,发现收益良多.之前只是单纯得写demo,看知识点,没有亲自实战项目.但实战过后才会了解,如何才能更好地提升自己的技术.针对这 ...
- easy ui 零散技巧
1.Jquery带上下文查找: 格式:$(selector,context) 例如:$("input",window.document),查找当前文档下的说有input元素,也等价 ...
- html+jquery翻页相册(原创)
呵呵 今天心情大好,再发一篇最进前端实现的相册模仿功能 这个相册是在一个网站的案例展示页面上实现的,没单独写出来,没时间,重用性也很差,以后有时间了再单独提取出来, 写这个玩意前,我在网上找了一些案例 ...
随机推荐
- 怎样使用jstack诊断Java应用程序故障(转)
最近一段时间,我们的生产系统升级频繁出现故障,具体故障现象是启动后10来分钟就出现交易缓慢,处理线程耗尽等现象,并且故障发生的频率蛮高的.经过详细的诊断和排查,终于发现了问题,是groovy在osgi ...
- frame.bounds和center
CGPoint point=CGPoint(x,y); //表示位置 CGSize size=CGSzieMake(width,height); //表示大小 CGRect rect=CGRect ...
- java.util.Queue用法
队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作.进行插入操作的端称为队尾,进行删除操作的端称为队头.队列中没有元素时,称为空队列. 在队列这 ...
- Floodlight 处理交换机增加/移除过程
Floodlight 使用的是Netty架构,在Controller.java 入口函数中显示创建ServerBootstrap,设置套接字选项,ChannelPipeline,此时监听套接 ...
- Android Fragement学习笔记(三)----PreferenceFragment的使用
相信大家对Perference都比較熟悉了,也就是我们常说的偏好设置,首选项设置,能够保存一些数据,比如我们在上一次使用的时候的一些内容,希望在下一次启动后依旧生效,而不须要再进行配置那么麻烦.一般这 ...
- cocos2d-x 3.0 使用Sax解析xml文件(中国显示器问题解决)
今天是个好日子.我以为事情可以变得,明天是个好日子.打开门儿春风... 恩,听着歌写文档生活就是这么享受. 今天曾经的邻居大神突然在qq上赞了我一下,这让我异常激动啊.. 这还要从前前前几天说起,那会 ...
- 14.4.3.3 Making the Buffer Pool Scan Resistant
14.4.3.3 Making the Buffer Pool Scan Resistant 让Buffer Pool 扫描 相比使用一个严格的LRU算法, InnoDB 使用一个技术来最小化数据的总 ...
- HDU 1242——Rescue(优先队列)
题意: 一个天使a被关在迷宫里,她的很多小伙伴r打算去救她.求小伙伴就到她须要的最小时间.在迷宫里有守卫.打败守卫须要一个单位时间.假设碰到守卫必须要杀死他 思路: 天使仅仅有一个,她的小伙伴有非常多 ...
- OCA读书笔记(9) - 管理数据同步
9.Managing Data Concurrency 描述锁机制以及oracle如何管理数据一致性监控和解决锁冲突 管理数据的并发--管理锁数据的不一致:脏读更改丢失幻影读 脏读:数据是指事务T2修 ...
- QML性能
1) Limit JavaScript a) inline JavaScript: 内联的JavaScript方法; 1. 将js方法放置在Element内部; 2. 尝试将语句写在一行内; ...