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

政府网站建设的功能长沙官网网站推广优化

政府网站建设的功能,长沙官网网站推广优化,wordpress修改主题header背景色,电子网站建设推广方案WPF 实现冒泡排序可视化 实现冒泡排序代码就不过多讲解,主要是实现动画效果思路,本demo使用MVVM模式编写,读者可自行参考部分核心代码,即可实现如视频所示效果。 对于新手了解算法相关知识应该有些许帮助,至于其它类型…

WPF 实现冒泡排序可视化


实现冒泡排序代码就不过多讲解,主要是实现动画效果思路,本demo使用MVVM模式编写,读者可自行参考部分核心代码,即可实现如视频所示效果。
对于新手了解算法相关知识应该有些许帮助,至于其它类型排序,也可按该思路自行修改实现。
直接上代码,页面布局.xaml代码如下:

<UserControl x:Class="Wpf_MetroListBox.Views.Test.CanvasLabelMove"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:Wpf_MetroListBox.Views.Test"mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"><Grid><Grid.RowDefinitions><RowDefinition Height="380"></RowDefinition><RowDefinition Height="*"></RowDefinition></Grid.RowDefinitions><Canvas x:Name="canvas" Grid.Row="0" Background="White"></Canvas><Grid Grid.Row="1"><Grid.ColumnDefinitions><ColumnDefinition></ColumnDefinition><ColumnDefinition></ColumnDefinition></Grid.ColumnDefinitions><Button Content="创建序列" HorizontalAlignment="Center"  Grid.Column="0" Width="70" Height="35" Command="{Binding CommitCommand}" Style="{DynamicResource btn-info-m}"></Button><Button  Content="执行排序" HorizontalAlignment="Center"  Grid.Column="1" Width="70" Height="35" Command="{Binding QueryCommand}" Style="{DynamicResource btn-info-m}"></Button></Grid></Grid></UserControl>

逻辑代码实现如下:

public partial class CanvasLabelMove : UserControl{CanvasLabelMoveViewModel vm;private Random random = new Random();private List<Label> labels = new List<Label>();private int[] array;private int delay = 1000; // 动画延迟时间(毫秒)public CanvasLabelMove(){InitializeComponent();vm = new CanvasLabelMoveViewModel();this.DataContext = vm;this.Publish(EventNames.MainWindowLoadControlEvent, "排序可视化");this.Subscriber<string>(EventNames.DataGridFocusChangedEvent, async contentStr =>{  if (contentStr.Equals("1")){InitializeArrayAndLabels();}else if (contentStr.Equals("2")){StartBubbleSortAnimation();}});}private void InitializeArrayAndLabels(){int size = 18; // 数组大小 控制标签个数array = new int[size];labels.Clear();canvas.Children.Clear();HashSet<int> randomNumbers = new HashSet<int>();Random random = new Random();//生成不重复随机数while (randomNumbers.Count < size){int nextNumber = random.Next(22, 200);randomNumbers.Add(nextNumber);}int j = 0;foreach (int number in randomNumbers){array[j] = number;j++;}for (int i = 0; i < size; i++){Label label = new Label{Content = array[i].ToString(),FontSize = 12,Width = 35,Height = array[i],Margin = new Thickness(50, 0, 0, 0),Foreground = Brushes.Black,Background = Brushes.BlanchedAlmond,VerticalContentAlignment = VerticalAlignment.Center,HorizontalContentAlignment = HorizontalAlignment.Center};             Canvas.SetLeft(label, i * 50); // 设置Label的X坐标Canvas.SetBottom(label, (canvas.ActualHeight / 2) - 100); // 设置Label的Y坐标在中间canvas.Children.Add(label);labels.Add(label);}}private async void StartBubbleSortAnimation(){for (int j = 0; j <= array.Length - 1; j++){for (int i = 0; i <= array.Length - 2; i++){if (array[i] > array[i + 1]){Swap(i, i + 1);// 更新Label位置AnimateSwap(i, i + 1);await Task.Delay(delay);}}}}private void Swap(int i, int j){int temp = array[i];array[i] = array[j];array[j] = temp;}private async void AnimateSwap(int i, int j){// 临时存储Label的位置double label1X = Canvas.GetLeft(labels[i]);double label2X = Canvas.GetLeft(labels[j]);await Task.Delay(delay / 10); // 控制动画速度var animation1 = new DoubleAnimation(label2X, TimeSpan.FromSeconds(0.5));var animation2 = new DoubleAnimation(label1X, TimeSpan.FromSeconds(0.5));labels[i].BeginAnimation(Canvas.LeftProperty, animation1);labels[j].BeginAnimation(Canvas.LeftProperty, animation2);// 最终位置//Canvas.SetLeft(labels[i], label2X);//Canvas.SetLeft(labels[j], label1X);Label tempLabel = labels[i];labels[i] = labels[j];labels[j] = tempLabel;}}public class CanvasLabelMoveViewModel : BaseValidViewModel{public CanvasLabelMoveViewModel(){}protected override void ExecuteCommitCommand(){this.Publish(EventNames.DataGridFocusChangedEvent, "1");}protected override void ExecuteQueryCommand(){this.Publish(EventNames.DataGridFocusChangedEvent, "2");}}
http://www.hkea.cn/news/351006/

相关文章:

  • 网站开发技术交流群免费域名申请网站
  • 手机网站一键分享怎么知道自己的域名
  • 做网站 做好把我踢开北京网站搭建哪家好
  • 网站如何做引流刷外链网站
  • wordpress 站点地址关注公众号一单一结兼职
  • 合肥网站建设第一品牌个人seo外包
  • 省心的免费建站服务热线四川seo关键词工具
  • 网站总是跳转dede58seo对网络推广的作用是
  • seo排名怎么提高seo排名优化软件有用
  • 江门论坛建站模板黑帽seo联系方式
  • 政府网站信息内容建设专项检查搜索引擎排名优化seo课后题
  • 个人做的好的淘宝客网站软文营销推广
  • 城乡建设委员会网站河北seo推广公司
  • 某网站栏目策划2022十大热点事件及评析
  • 德清网站建设中心优化大师官方免费下载
  • 生日网页制作免费网站制作代做网页设计平台
  • 学校类网站特点游戏优化大师官网
  • 手机电视网站大全河南网站建设定制
  • zblog做的商城网站上海有实力的seo推广咨询
  • 免费网站模板psd网络营销的整体概念
  • 网站模板下载破解版环球军事新闻最新消息
  • 徐汇苏州网站建设东莞免费建站公司
  • 厦门网站建设哪家强深圳网站维护
  • 政府网站新媒体平台建设关键词权重查询
  • 重庆网站建设制作公司百度客服人工在线咨询电话
  • 微信公众号平台入口官网奶盘seo伪原创工具
  • 泉州网站建设公司推荐宁德市地图
  • 大厂县住房和城乡建设局网站刷百度指数
  • 低代码开发平台优缺点昆山seo网站优化软件
  • 网站开发年终总结网络营销战略的内容