当前位置: 首页 > news >正文

河南郑州网站设计公司北京品牌建设网站公司

河南郑州网站设计公司,北京品牌建设网站公司,青岛手机建站公司,有人找做网站的元旦元旦团团圆圆、WPF开发者在此真诚的祝愿开发者们在新的一年里心想事成、万事如意!WPF开发者QQ群#xff1a; 340500857由于微信群人数太多入群请添加小编微信号yanjinhuawechat 或 W_Feng_aiQ 邀请入群需备注WPF开发者 PS#xff1a;有更好的方式欢迎推荐。01—代码如下一… 元旦元旦团团圆圆、WPF开发者在此真诚的祝愿开发者们在新的一年里心想事成、万事如意!WPF开发者QQ群 340500857       由于微信群人数太多入群请添加小编微信号 yanjinhuawechat 或 W_Feng_aiQ 邀请入群 需备注WPF开发者   PS有更好的方式欢迎推荐。01—代码如下一、创建 CountdownTimer.xaml 继承ContentControl代码如下。using System; using System.Linq; using System.Windows; using System.Windows.Controls; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Media.Effects;namespace WPFDevelopers.Controls {public enum CountdownTimerEffect{Default,MultiColor}public class CountdownTimer : ContentControl{private Storyboard storyboard;private const double seconds  800;private double currentSeconds  seconds;private Grid myGrid;public int Number{get { return (int)GetValue(NumberProperty); }set { SetValue(NumberProperty, value); }}public static readonly DependencyProperty NumberProperty DependencyProperty.Register(Number, typeof(int), typeof(CountdownTimer), new PropertyMetadata(3));/// summary/// 完成后回到开始/// /summarypublic bool IsFinishStart{get { return (bool)GetValue(IsFinishStartProperty); }set { SetValue(IsFinishStartProperty, value); }}public static readonly DependencyProperty IsFinishStartProperty DependencyProperty.Register(IsFinishStart, typeof(bool), typeof(CountdownTimer), new PropertyMetadata(false));public CountdownTimerEffect CountdownTimerEffect{get { return (CountdownTimerEffect)GetValue(CountdownTimerEffectProperty); }set { SetValue(CountdownTimerEffectProperty, value); }}public static readonly DependencyProperty CountdownTimerEffectProperty DependencyProperty.Register(ExhibitionEnum, typeof(CountdownTimerEffect), typeof(CountdownTimer), new PropertyMetadata(CountdownTimerEffect.Default));public override void OnApplyTemplate(){base.OnApplyTemplate();NameScope.SetNameScope(this, new NameScope());if (FontSize  SystemFonts.CaptionFontSize)FontSize  200;FontFamily  DrawingContextHelper.FontFamily;storyboard  new Storyboard();myGrid  new Grid();myGrid.Name  myGrid;myGrid.ToolTip  MouseDown;myGrid.Background  new SolidColorBrush(Colors.White);var linearGradient  new LinearGradientBrush{GradientStops  new GradientStopCollection{new GradientStop{ Color  Colors.Red, Offset  1 },new GradientStop{ Color  Colors.White, Offset  1 },new GradientStop{ Color  Colors.White, Offset  .5 },new GradientStop{ Color  Colors.Red, Offset  .5 },new GradientStop{ Color  Colors.Red, Offset  0 },new GradientStop{ Color  Colors.White, Offset  0 },},StartPoint  new Point(0.5, 0),EndPoint  new Point(10, 10),SpreadMethod  GradientSpreadMethod.Reflect,MappingMode  BrushMappingMode.Absolute};SolidColorBrush solidColor;this.RegisterName(myGrid.Name, myGrid);var num  0;for (int i  Number; i  num; i--){var textBlock  new TextBlock();switch (CountdownTimerEffect){case CountdownTimerEffect.Default:if (i % 2  0)solidColor  Brushes.White;elsesolidColor  Brushes.Black;textBlock.Foreground  solidColor;break;case CountdownTimerEffect.MultiColor:textBlock.Foreground  linearGradient;break;}textBlock.Text  i.ToString();textBlock.Name  $textBlock{i};textBlock.FontSize  FontSize;textBlock.FontWeight  FontWeights.ExtraBold;textBlock.VerticalAlignment  VerticalAlignment.Center;textBlock.HorizontalAlignment  HorizontalAlignment.Center;textBlock.RenderTransformOrigin  new Point(.5, .5);textBlock.Effect  new DropShadowEffect{ShadowDepth  2,RenderingBias  RenderingBias.Performance,Color  Colors.Red};if (!i.Equals(Number))textBlock.Opacity  0;textBlock.RenderTransform  new ScaleTransform{ScaleX  2,ScaleY  2,};this.RegisterName(textBlock.Name, textBlock);TimeSpan beginTime  TimeSpan.Zero;if (storyboard.Children.Count  0){beginTime  TimeSpan.FromMilliseconds(currentSeconds);currentSeconds  seconds;}var cubicEase  new CubicEase{EasingMode  EasingMode.EaseIn,};DoubleAnimation doubleAnimationScaleX  new DoubleAnimation();doubleAnimationScaleX.From  2;doubleAnimationScaleX.To  0;doubleAnimationScaleX.EasingFunction  cubicEase;Storyboard.SetTargetName(doubleAnimationScaleX, textBlock.Name);Storyboard.SetTargetProperty(doubleAnimationScaleX, new PropertyPath((TextBlock.RenderTransform).(ScaleTransform.ScaleX)));var doubleAnimationScaleY  new DoubleAnimation{From  2,To  0,EasingFunction  cubicEase};Storyboard.SetTargetName(doubleAnimationScaleY, textBlock.Name);Storyboard.SetTargetProperty(doubleAnimationScaleY, new PropertyPath((TextBlock.RenderTransform).(ScaleTransform.ScaleY)));doubleAnimationScaleX.BeginTime  beginTime;doubleAnimationScaleY.BeginTime  beginTime;doubleAnimationScaleX.Duration  TimeSpan.FromMilliseconds(seconds);doubleAnimationScaleY.Duration  TimeSpan.FromMilliseconds(seconds);if (!i.Equals(Number)){var doubleAnimationOpacity  new DoubleAnimation{Duration  TimeSpan.FromMilliseconds(0),BeginTime  beginTime,From  0,To  1};Storyboard.SetTargetName(doubleAnimationOpacity, textBlock.Name);Storyboard.SetTargetProperty(doubleAnimationOpacity, new PropertyPath(TextBlock.OpacityProperty));storyboard.Children.Add(doubleAnimationOpacity);}if (i % 2  0){var colorAnimation  new ColorAnimation{Duration  TimeSpan.FromMilliseconds(0),From  Colors.White,BeginTime  beginTime,To  Colors.Black};Storyboard.SetTargetName(colorAnimation, myGrid.Name);Storyboard.SetTargetProperty(colorAnimation, new PropertyPath((Panel.Background).(SolidColorBrush.Color)));storyboard.Children.Add(colorAnimation);}else{if (!i.Equals(Number)){var colorAnimation  new ColorAnimation{Duration  TimeSpan.FromMilliseconds(0),BeginTime  beginTime,From  Colors.Black,To  Colors.White};Storyboard.SetTargetName(colorAnimation, myGrid.Name);Storyboard.SetTargetProperty(colorAnimation, new PropertyPath((Panel.Background).(SolidColorBrush.Color)));storyboard.Children.Add(colorAnimation);}}storyboard.Children.Add(doubleAnimationScaleX);storyboard.Children.Add(doubleAnimationScaleY);myGrid.Children.Add(textBlock);}this.Content  myGrid;}protected override void OnMouseDown(MouseButtonEventArgs e){base.OnMouseDown(e);if (storyboard ! null  storyboard.Children.Count  0){storyboard.Completed  (s, y) {myGrid.Background  new SolidColorBrush(Colors.White);if (IsFinishStart){var scaleTransform  new ScaleTransform{ScaleX  2,ScaleY  2};var tb  myGrid.Children.CastTextBlock().First();tb.RenderTransform  scaleTransform;}};storyboard.Begin(this);}}} }二、CountdownTimerExample.xaml 代码如下UserControl x:ClassWPFDevelopers.Samples.ExampleViews.CountdownTimerExamplexmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006 xmlns:dhttp://schemas.microsoft.com/expression/blend/2008 xmlns:localclr-namespace:WPFDevelopers.Samples.ExampleViewsxmlns:wpfdevhttps://github.com/yanjinhuagood/WPFDevelopersmc:Ignorabled d:DesignHeight450 d:DesignWidth800Grid Margin10 Grid.Row1Grid.RowDefinitionsRowDefinition HeightAuto/RowDefinition Height*//Grid.RowDefinitionsBorder Margin0,0,0,0 Background{StaticResource WhiteSolidColorBrush} CornerRadius4,4,0,0 Effect{StaticResource NormalShadowDepth}wpfdev:NavigateMenu TabStripPlacementTop SelectionChangedNavigateMenu_SelectionChangedListBoxItem ContentDefault/ListBoxItem ContentMultiColor//wpfdev:NavigateMenu/BorderBorder Grid.Row1 Background{StaticResource WhiteSolidColorBrush} CornerRadius0,0,4,4Effect{StaticResource NormalShadowDepth}Grid Margin10wpfdev:CountdownTimer Number3 x:NameCountdownTimer1/UniformGrid Columns4 VisibilityCollapsed x:NameCountdownTimerGroupwpfdev:CountdownTimer Number9 CountdownTimerEffectMultiColor FontSize150 IsFinishStartTrue/wpfdev:CountdownTimer Number5 CountdownTimerEffectMultiColor FontSize150 IsFinishStartTrue/wpfdev:CountdownTimer Number2 CountdownTimerEffectMultiColor FontSize150 IsFinishStartTrue/wpfdev:CountdownTimer Number7 CountdownTimerEffectMultiColor FontSize150 IsFinishStartTrue//UniformGrid/Grid/Border/Grid /UserControl三、CountdownTimerExample.xaml.cs 代码如下using System.Windows; using System.Windows.Controls;namespace WPFDevelopers.Samples.ExampleViews {/// summary/// CountdownTimerExample.xaml 的交互逻辑/// /summarypublic partial class CountdownTimerExample : UserControl{public CountdownTimerExample(){InitializeComponent();}private void NavigateMenu_SelectionChanged(object sender, SelectionChangedEventArgs e){var item  e.AddedItems[0] as ListBoxItem;if (item  null) return;switch (item.Content.ToString()){case Default:if(CountdownTimer1.Visibility ! Visibility.Visible){CountdownTimer1.Visibility  Visibility.Visible;CountdownTimerGroup.Visibility  Visibility.Collapsed;}break;case MultiColor:if (CountdownTimerGroup.Visibility ! Visibility.Visible){CountdownTimerGroup.Visibility  Visibility.Visible;CountdownTimer1.Visibility  Visibility.Collapsed;}break;}}} }02—效果预览鸣谢素材提供者 - 贺龙源码地址如下Githubhttps://github.com/WPFDevelopersOrgGiteehttps://gitee.com/WPFDevelopersOrgWPF开发者QQ群 340500857 Githubhttps://github.com/WPFDevelopersOrg出处https://www.cnblogs.com/yanjinhua版权本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。转载请著名作者 出处 https://github.com/WPFDevelopersOrg扫一扫关注我们更多知识早知道点击阅读原文可跳转至源代码
http://www.pierceye.com/news/178746/

相关文章:

  • 江苏省建设执业中心网站wordpress婚礼模板下载
  • 互联网网站开发html5怎么做网站可以注册的
  • 公司网站建设前期方案经典设计产品
  • 南昌市公司网站建设品牌建设浅谈
  • 网站实现留言功能吗制作视频用什么app
  • 聊城企业网站建设公司网页版wordpress教程视频
  • 网上购物的网站开发背景wordpress more标签使用教程
  • 多语言网站建设方案新建网站的价格
  • 企业网站服务器的选择企业网站建设市场分析
  • 阜阳做网站的公司网页制作自学教程
  • 阿里巴巴吧网站怎么做网页设计师属于什么部门
  • 望京网站建设公司红酒专业网站建设
  • 兰州市城市建设设计院网站游戏网站搭建需要多少钱
  • 网站建设易客vi设计公司 深圳
  • 白银网站运行网站建设客户去哪里找
  • 建湖网站设计云浮网站设计
  • 招聘网站的简历可以做几份vue可以做pc网站吗
  • 高端个性化网站建设版面设计经历了哪几个阶段
  • wordpress本地图片一个网站完整详细的seo优化方案
  • 试玩网站怎么做5g影视
  • 宝宝投票网站怎么做网站首页添加代码
  • 网站开发分类网站建设的目标
  • 做旅游的网站有哪些专业做鞋子的网站
  • 深圳旅游网站开发新余网络推广
  • 平台网站建设ppt雪梨直播
  • 建设外贸类网站互联网下的网络营销
  • 网站开发需要的知识WordPress要什么环境
  • wordpress 多站点设置欧洲c2c平台
  • 赤峰网站开发公司做网站的公司怎么推销
  • 深圳福田区区住房和建设局网站wordpress 小程序开发