在一些项目中,难免会有耗时的加载,如果加载时没有提示,给人一种假死的感觉,很不友好,那么现在福利来啦,WPF版的模态窗体,先上效果图

实际效果指针是转动的,话不多说,一大批干货来袭

XMAL的代码

  1. Window x:Class="ZhiHeng.IntelligentExpress.WpfUI.Views.CoverForm"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. Title="CoverForm" x:Name="Window"
  6. Style="{StaticResource WindowsStyle}" Opacity="0.5">
  7. <Window.Resources>
  8. <Storyboard x:Key="Storyboard1">
  9. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" RepeatBehavior="Forever" Storyboard.TargetName="ellipse" Storyboard.TargetProperty="(UIElement.Opacity)">
  10. <SplineDoubleKeyFrame KeyTime=" />
  11. <SplineDoubleKeyFrame KeyTime=" />
  12. <SplineDoubleKeyFrame KeyTime=" />
  13. <SplineDoubleKeyFrame KeyTime=" />
  14. <SplineDoubleKeyFrame KeyTime=" />
  15. </DoubleAnimationUsingKeyFrames>
  16. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse1">
  17. <SplineDoubleKeyFrame KeyTime=" />
  18. <SplineDoubleKeyFrame KeyTime=" />
  19. <SplineDoubleKeyFrame KeyTime=" />
  20. <SplineDoubleKeyFrame KeyTime=" />
  21. <SplineDoubleKeyFrame KeyTime=" />
  22. </DoubleAnimationUsingKeyFrames>
  23. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse2">
  24. <SplineDoubleKeyFrame KeyTime=" />
  25. <SplineDoubleKeyFrame KeyTime=" />
  26. <SplineDoubleKeyFrame KeyTime=" />
  27. <SplineDoubleKeyFrame KeyTime=" />
  28. <SplineDoubleKeyFrame KeyTime=" />
  29. </DoubleAnimationUsingKeyFrames>
  30. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse3">
  31. <SplineDoubleKeyFrame KeyTime=" />
  32. <SplineDoubleKeyFrame KeyTime=" />
  33. <SplineDoubleKeyFrame KeyTime=" />
  34. <SplineDoubleKeyFrame KeyTime=" />
  35. <SplineDoubleKeyFrame KeyTime=" />
  36. </DoubleAnimationUsingKeyFrames>
  37. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse4">
  38. <SplineDoubleKeyFrame KeyTime=" />
  39. <SplineDoubleKeyFrame KeyTime=" />
  40. <SplineDoubleKeyFrame KeyTime=" />
  41. <SplineDoubleKeyFrame KeyTime=" />
  42. <SplineDoubleKeyFrame KeyTime=" />
  43. </DoubleAnimationUsingKeyFrames>
  44. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse5">
  45. <SplineDoubleKeyFrame KeyTime=" />
  46. <SplineDoubleKeyFrame KeyTime=" />
  47. <SplineDoubleKeyFrame KeyTime=" />
  48. <SplineDoubleKeyFrame KeyTime=" />
  49. <SplineDoubleKeyFrame KeyTime=" />
  50. </DoubleAnimationUsingKeyFrames>
  51. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse6">
  52. <SplineDoubleKeyFrame KeyTime=" />
  53. <SplineDoubleKeyFrame KeyTime=" />
  54. <SplineDoubleKeyFrame KeyTime=" />
  55. <SplineDoubleKeyFrame KeyTime=" />
  56. <SplineDoubleKeyFrame KeyTime=" />
  57. </DoubleAnimationUsingKeyFrames>
  58. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse7">
  59. <SplineDoubleKeyFrame KeyTime=" />
  60. <SplineDoubleKeyFrame KeyTime=" />
  61. <SplineDoubleKeyFrame KeyTime=" />
  62. <SplineDoubleKeyFrame KeyTime=" />
  63. <SplineDoubleKeyFrame KeyTime=" />
  64. </DoubleAnimationUsingKeyFrames>
  65. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse8">
  66. <SplineDoubleKeyFrame KeyTime=" />
  67. <SplineDoubleKeyFrame KeyTime=" />
  68. <SplineDoubleKeyFrame KeyTime=" />
  69. <SplineDoubleKeyFrame KeyTime=" />
  70. <SplineDoubleKeyFrame KeyTime=" />
  71. </DoubleAnimationUsingKeyFrames>
  72. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse9">
  73. <SplineDoubleKeyFrame KeyTime=" />
  74. <SplineDoubleKeyFrame KeyTime=" />
  75. <SplineDoubleKeyFrame KeyTime=" />
  76. <SplineDoubleKeyFrame KeyTime=" />
  77. <SplineDoubleKeyFrame KeyTime=" />
  78. </DoubleAnimationUsingKeyFrames>
  79. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse10">
  80. <SplineDoubleKeyFrame KeyTime=" />
  81. <SplineDoubleKeyFrame KeyTime=" />
  82. <SplineDoubleKeyFrame KeyTime=" />
  83. <SplineDoubleKeyFrame KeyTime=" />
  84. <SplineDoubleKeyFrame KeyTime=" />
  85. </DoubleAnimationUsingKeyFrames>
  86. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse11">
  87. <SplineDoubleKeyFrame KeyTime=" />
  88. <SplineDoubleKeyFrame KeyTime=" />
  89. <SplineDoubleKeyFrame KeyTime=" />
  90. <SplineDoubleKeyFrame KeyTime=" />
  91. <SplineDoubleKeyFrame KeyTime=" />
  92. </DoubleAnimationUsingKeyFrames>
  93. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse12">
  94. <SplineDoubleKeyFrame KeyTime=" />
  95. <SplineDoubleKeyFrame KeyTime=" />
  96. <SplineDoubleKeyFrame KeyTime=" />
  97. <SplineDoubleKeyFrame KeyTime=" />
  98. <SplineDoubleKeyFrame KeyTime=" />
  99. </DoubleAnimationUsingKeyFrames>
  100. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse13">
  101. <SplineDoubleKeyFrame KeyTime=" />
  102. <SplineDoubleKeyFrame KeyTime=" />
  103. <SplineDoubleKeyFrame KeyTime=" />
  104. <SplineDoubleKeyFrame KeyTime=" />
  105. <SplineDoubleKeyFrame KeyTime=" />
  106. </DoubleAnimationUsingKeyFrames>
  107. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse14">
  108. <SplineDoubleKeyFrame KeyTime=" />
  109. <SplineDoubleKeyFrame KeyTime=" />
  110. <SplineDoubleKeyFrame KeyTime=" />
  111. <SplineDoubleKeyFrame KeyTime=" />
  112. <SplineDoubleKeyFrame KeyTime=" />
  113. </DoubleAnimationUsingKeyFrames>
  114. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse15">
  115. <SplineDoubleKeyFrame KeyTime=" />
  116. <SplineDoubleKeyFrame KeyTime=" />
  117. <SplineDoubleKeyFrame KeyTime=" />
  118. <SplineDoubleKeyFrame KeyTime=" />
  119. <SplineDoubleKeyFrame KeyTime=" />
  120. </DoubleAnimationUsingKeyFrames>
  121. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse16">
  122. <SplineDoubleKeyFrame KeyTime=" />
  123. <SplineDoubleKeyFrame KeyTime=" />
  124. <SplineDoubleKeyFrame KeyTime=" />
  125. <SplineDoubleKeyFrame KeyTime=" />
  126. <SplineDoubleKeyFrame KeyTime=" />
  127. </DoubleAnimationUsingKeyFrames>
  128. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)" RepeatBehavior="Forever" Storyboard.TargetName="ellipse17">
  129. <SplineDoubleKeyFrame KeyTime=" />
  130. <SplineDoubleKeyFrame KeyTime=" />
  131. <SplineDoubleKeyFrame KeyTime=" />
  132. <SplineDoubleKeyFrame KeyTime=" />
  133. </DoubleAnimationUsingKeyFrames>
  134. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" RepeatBehavior="Forever" Storyboard.TargetName="border" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)">
  135. <SplineDoubleKeyFrame KeyTime=" />
  136. <SplineDoubleKeyFrame KeyTime=" />
  137. <SplineDoubleKeyFrame KeyTime=" />
  138. </DoubleAnimationUsingKeyFrames>
  139. <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" RepeatBehavior="Forever" Storyboard.TargetName="border1" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)">
  140. <SplineDoubleKeyFrame KeyTime=" />
  141. <SplineDoubleKeyFrame KeyTime=" />
  142. <SplineDoubleKeyFrame KeyTime=" />
  143. </DoubleAnimationUsingKeyFrames>
  144. </Storyboard>
  145. </Window.Resources>
  146. <Window.Triggers>
  147. <EventTrigger RoutedEvent="FrameworkElement.Loaded">
  148. <BeginStoryboard Storyboard="{StaticResource Storyboard1}" />
  149. </EventTrigger>
  150. </Window.Triggers>
  151. <Grid x:Name="LayoutRoot">
  152. <Viewbox Width=">
  153. <Grid HorizontalAlignment=" VerticalAlignment="Center" Width="3.333" Height="3.333" Visibility="Visible">
  154. <Ellipse RenderTransformOrigin="0.468,3.443" x:Name="ellipse" Fill="Black" Stroke="{x:Null}" />
  155. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse0" >
  156. <Ellipse.RenderTransform>
  157. <TransformGroup>
  158. <ScaleTransform ScaleX=" />
  159. <SkewTransform AngleX=" />
  160. <RotateTransform Angle=" />
  161. <TranslateTransform X=" />
  162. </TransformGroup>
  163. </Ellipse.RenderTransform>
  164. </Ellipse>
  165. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse1" >
  166. <Ellipse.RenderTransform>
  167. <TransformGroup>
  168. <ScaleTransform ScaleX=" />
  169. <SkewTransform AngleX=" />
  170. <RotateTransform Angle=" />
  171. <TranslateTransform X=" />
  172. </TransformGroup>
  173. </Ellipse.RenderTransform>
  174. </Ellipse>
  175. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse2" >
  176. <Ellipse.RenderTransform>
  177. <TransformGroup>
  178. <ScaleTransform ScaleX=" />
  179. <SkewTransform AngleX=" />
  180. <RotateTransform Angle=" />
  181. <TranslateTransform X=" />
  182. </TransformGroup>
  183. </Ellipse.RenderTransform>
  184. </Ellipse>
  185. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse3">
  186. <Ellipse.RenderTransform>
  187. <TransformGroup>
  188. <ScaleTransform ScaleX=" />
  189. <SkewTransform AngleX=" />
  190. <RotateTransform Angle=" />
  191. <TranslateTransform X=" />
  192. </TransformGroup>
  193. </Ellipse.RenderTransform>
  194. </Ellipse>
  195. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse4">
  196. <Ellipse.RenderTransform>
  197. <TransformGroup>
  198. <ScaleTransform ScaleX=" />
  199. <SkewTransform AngleX=" />
  200. <RotateTransform Angle=" />
  201. <TranslateTransform X=" />
  202. </TransformGroup>
  203. </Ellipse.RenderTransform>
  204. </Ellipse>
  205. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse5">
  206. <Ellipse.RenderTransform>
  207. <TransformGroup>
  208. <ScaleTransform ScaleX=" />
  209. <SkewTransform AngleX=" />
  210. <RotateTransform Angle=" />
  211. <TranslateTransform X=" />
  212. </TransformGroup>
  213. </Ellipse.RenderTransform>
  214. </Ellipse>
  215. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse6" >
  216. <Ellipse.RenderTransform>
  217. <TransformGroup>
  218. <ScaleTransform ScaleX=" />
  219. <SkewTransform AngleX=" />
  220. <RotateTransform Angle=" />
  221. <TranslateTransform X=" />
  222. </TransformGroup>
  223. </Ellipse.RenderTransform>
  224. </Ellipse>
  225. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse7" >
  226. <Ellipse.RenderTransform>
  227. <TransformGroup>
  228. <ScaleTransform ScaleX=" />
  229. <SkewTransform AngleX=" />
  230. <RotateTransform Angle=" />
  231. <TranslateTransform X=" />
  232. </TransformGroup>
  233. </Ellipse.RenderTransform>
  234. </Ellipse>
  235. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse8" >
  236. <Ellipse.RenderTransform>
  237. <TransformGroup>
  238. <ScaleTransform ScaleX=" />
  239. <SkewTransform AngleX=" />
  240. <RotateTransform Angle=" />
  241. <TranslateTransform X=" />
  242. </TransformGroup>
  243. </Ellipse.RenderTransform>
  244. </Ellipse>
  245. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse9" >
  246. <Ellipse.RenderTransform>
  247. <TransformGroup>
  248. <ScaleTransform ScaleX=" />
  249. <SkewTransform AngleX=" />
  250. <RotateTransform Angle=" />
  251. <TranslateTransform X=" />
  252. </TransformGroup>
  253. </Ellipse.RenderTransform>
  254. </Ellipse>
  255. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse10" >
  256. <Ellipse.RenderTransform>
  257. <TransformGroup>
  258. <ScaleTransform ScaleX=" />
  259. <SkewTransform AngleX=" />
  260. <RotateTransform Angle=" />
  261. <TranslateTransform X=" />
  262. </TransformGroup>
  263. </Ellipse.RenderTransform>
  264. </Ellipse>
  265. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse11" >
  266. <Ellipse.RenderTransform>
  267. <TransformGroup>
  268. <ScaleTransform ScaleX=" />
  269. <SkewTransform AngleX=" />
  270. <RotateTransform Angle=" />
  271. <TranslateTransform X=" />
  272. </TransformGroup>
  273. </Ellipse.RenderTransform>
  274. </Ellipse>
  275. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse12" >
  276. <Ellipse.RenderTransform>
  277. <TransformGroup>
  278. <ScaleTransform ScaleX=" />
  279. <SkewTransform AngleX=" />
  280. <RotateTransform Angle=" />
  281. <TranslateTransform X=" />
  282. </TransformGroup>
  283. </Ellipse.RenderTransform>
  284. </Ellipse>
  285. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse13" >
  286. <Ellipse.RenderTransform>
  287. <TransformGroup>
  288. <ScaleTransform ScaleX=" />
  289. <SkewTransform AngleX=" />
  290. <RotateTransform Angle=" />
  291. <TranslateTransform X=" />
  292. </TransformGroup>
  293. </Ellipse.RenderTransform>
  294. </Ellipse>
  295. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse14" >
  296. <Ellipse.RenderTransform>
  297. <TransformGroup>
  298. <ScaleTransform ScaleX=" />
  299. <SkewTransform AngleX=" />
  300. <RotateTransform Angle=" />
  301. <TranslateTransform X=" />
  302. </TransformGroup>
  303. </Ellipse.RenderTransform>
  304. </Ellipse>
  305. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse15" >
  306. <Ellipse.RenderTransform>
  307. <TransformGroup>
  308. <ScaleTransform ScaleX=" />
  309. <SkewTransform AngleX=" />
  310. <RotateTransform Angle=" />
  311. <TranslateTransform X=" />
  312. </TransformGroup>
  313. </Ellipse.RenderTransform>
  314. </Ellipse>
  315. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse16" >
  316. <Ellipse.RenderTransform>
  317. <TransformGroup>
  318. <ScaleTransform ScaleX=" />
  319. <SkewTransform AngleX=" />
  320. <RotateTransform Angle=" />
  321. <TranslateTransform X=" />
  322. </TransformGroup>
  323. </Ellipse.RenderTransform>
  324. </Ellipse>
  325. <Ellipse RenderTransformOrigin="0.468,3.443" Fill="Black" Stroke="{x:Null}" x:Name="ellipse17" >
  326. <Ellipse.RenderTransform>
  327. <TransformGroup>
  328. <ScaleTransform ScaleX=" />
  329. <SkewTransform AngleX=" />
  330. <RotateTransform Angle=" />
  331. <TranslateTransform X=" />
  332. </TransformGroup>
  333. </Ellipse.RenderTransform>
  334. </Ellipse>
  335. <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">
  336. <Ellipse.RenderTransform>
  337. <TransformGroup>
  338. <ScaleTransform ScaleX=" />
  339. <SkewTransform AngleX=" />
  340. <RotateTransform Angle=" />
  341. <TranslateTransform X=" />
  342. </TransformGroup>
  343. </Ellipse.RenderTransform>
  344. </Ellipse>
  345. <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">
  346. <Border.RenderTransform>
  347. <TransformGroup>
  348. <ScaleTransform ScaleX=" />
  349. <SkewTransform AngleX=" />
  350. <RotateTransform Angle=" />
  351. <TranslateTransform X=" />
  352. </TransformGroup>
  353. </Border.RenderTransform>
  354. </Border>
  355. <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">
  356. <Border.RenderTransform>
  357. <TransformGroup>
  358. <ScaleTransform ScaleX=" />
  359. <SkewTransform AngleX=" />
  360. <RotateTransform Angle=" />
  361. <TranslateTransform X=" />
  362. </TransformGroup>
  363. </Border.RenderTransform>
  364. </Border>
  365. </Grid>
  366. </Viewbox>
  367. <Label Content=" Foreground="Orange" HorizontalAlignment="Left" Margin="396,668,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.274,0.462"/>
  368. </Grid>
  369. </Window>

后台C#代码

  1. public partial class CoverForm : Window
  2. {
  3. public CoverForm(Action workAction)
  4. {
  5. InitializeComponent();
  6. this.workAction = workAction;
  7. System.Threading.Thread t = new System.Threading.Thread(ExecWorkAction);
  8. t.IsBackground = true;
  9. t.Start();
  10. }
  11. private Action workAction = null;
  12. private void ExecWorkAction()
  13. {
  14. try
  15. {
  16. var workTask = new Task(workAction);
  17. workTask.Start();
  18. Task.WaitAll(workTask);
  19. }
  20. finally
  21. {
  22. this.Dispatcher.Invoke(new Action(() => { this.Close(); }));
  23. }
  24. }
  25. }

调用的代码

  1. new CoverForm(() => {耗时的代码 }); }).Show();

有需要的尽管拿去吧,要问我是谁,请叫我是雷锋。

WPF遮蔽层的实现的更多相关文章

  1. WPF 蒙层罩,正在加载

    参考园子里的一篇文章,比较好用.可以直接用,可以自己改. 动画效果: 容器的触发器,旋转容器: 属性配置:使用依赖属性,并且在xaml中写绑定.

  2. Loading 遮蔽层 简单实现。

    <!--背景div--><div id="bg" class="bg" style="display:none;text-align ...

  3. HTML页面弹出自定义对话框带遮蔽罩(使用JavaScript)

    转载:http://blog.sina.com.cn/s/blog_610f47c50100ohe4.html 原理其实很简单:首先绘制弹出的自定义对话框,将其使用display:none隐藏,因为设 ...

  4. 10、WPF程序集

    WPF核心程序集 PresentationCore.dll:这个程序集定义了许多构成WPF GUI层基础的类型.例如包含WPF Ink API(pc笔针输入,手写输入)的支持.几个动画基元以及几个图形 ...

  5. WPF核心对象模型-类图和解析

    DispatcherObject是根基类,通过继承该类,可以得到访问创建该对象的UI线程的Dispatcher对象的能力.通过Dispatcher对象,可以将代码段合并入该UI线程执行. Depend ...

  6. dotnet 读 WPF 源代码笔记 渲染收集是如何触发

    在 WPF 里面,渲染可以从架构上划分为两层.上层是 WPF 框架的 OnRender 之类的函数,作用是收集应用程序渲染的命令.上层将收集到的应用程序绘制渲染的命令传给下层,下层是 WPF 的 GF ...

  7. HTML+CSS项目开发总结

    好几天没更新博客了,刚实战完一个HTML+CSS的简单项目.经过几天的摸索,发现收益良多.之前只是单纯得写demo,看知识点,没有亲自实战项目.但实战过后才会了解,如何才能更好地提升自己的技术.针对这 ...

  8. easy ui 零散技巧

    1.Jquery带上下文查找: 格式:$(selector,context) 例如:$("input",window.document),查找当前文档下的说有input元素,也等价 ...

  9. html+jquery翻页相册(原创)

    呵呵 今天心情大好,再发一篇最进前端实现的相册模仿功能 这个相册是在一个网站的案例展示页面上实现的,没单独写出来,没时间,重用性也很差,以后有时间了再单独提取出来, 写这个玩意前,我在网上找了一些案例 ...

随机推荐

  1. 怎样使用jstack诊断Java应用程序故障(转)

    最近一段时间,我们的生产系统升级频繁出现故障,具体故障现象是启动后10来分钟就出现交易缓慢,处理线程耗尽等现象,并且故障发生的频率蛮高的.经过详细的诊断和排查,终于发现了问题,是groovy在osgi ...

  2. frame.bounds和center

    CGPoint point=CGPoint(x,y);  //表示位置 CGSize size=CGSzieMake(width,height);  //表示大小 CGRect rect=CGRect ...

  3. java.util.Queue用法

    队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作.进行插入操作的端称为队尾,进行删除操作的端称为队头.队列中没有元素时,称为空队列. 在队列这 ...

  4. Floodlight 处理交换机增加/移除过程

         Floodlight 使用的是Netty架构,在Controller.java 入口函数中显示创建ServerBootstrap,设置套接字选项,ChannelPipeline,此时监听套接 ...

  5. Android Fragement学习笔记(三)----PreferenceFragment的使用

    相信大家对Perference都比較熟悉了,也就是我们常说的偏好设置,首选项设置,能够保存一些数据,比如我们在上一次使用的时候的一些内容,希望在下一次启动后依旧生效,而不须要再进行配置那么麻烦.一般这 ...

  6. cocos2d-x 3.0 使用Sax解析xml文件(中国显示器问题解决)

    今天是个好日子.我以为事情可以变得,明天是个好日子.打开门儿春风... 恩,听着歌写文档生活就是这么享受. 今天曾经的邻居大神突然在qq上赞了我一下,这让我异常激动啊.. 这还要从前前前几天说起,那会 ...

  7. 14.4.3.3 Making the Buffer Pool Scan Resistant

    14.4.3.3 Making the Buffer Pool Scan Resistant 让Buffer Pool 扫描 相比使用一个严格的LRU算法, InnoDB 使用一个技术来最小化数据的总 ...

  8. HDU 1242——Rescue(优先队列)

    题意: 一个天使a被关在迷宫里,她的很多小伙伴r打算去救她.求小伙伴就到她须要的最小时间.在迷宫里有守卫.打败守卫须要一个单位时间.假设碰到守卫必须要杀死他 思路: 天使仅仅有一个,她的小伙伴有非常多 ...

  9. OCA读书笔记(9) - 管理数据同步

    9.Managing Data Concurrency 描述锁机制以及oracle如何管理数据一致性监控和解决锁冲突 管理数据的并发--管理锁数据的不一致:脏读更改丢失幻影读 脏读:数据是指事务T2修 ...

  10. QML性能

    1) Limit JavaScript a) inline JavaScript:  内联的JavaScript方法;   1. 将js方法放置在Element内部;  2. 尝试将语句写在一行内; ...