旅游网站建设策划书模板邓州网站建设

web/2025/9/29 3:46:07/文章来源:
旅游网站建设策划书模板,邓州网站建设,微信公众号运营大学,微信小程序对接广告联盟winform 由于不是数据驱动, 页面想刷新数据必须刷新控件, wpf则不用. 可以利用wpf 的数据绑定和IOC, 页面中的消息传递, itemscontrol 实现大量数据刷新, 上位机页面不卡顿 跨页面传值, 可以用两种方法: Toolkit.Mvvm中的Message和IOC. 下面是代码: using Microsoft.Extensio…winform 由于不是数据驱动, 页面想刷新数据必须刷新控件, wpf则不用. 可以利用wpf 的数据绑定和IOC, 页面中的消息传递, itemscontrol 实现大量数据刷新, 上位机页面不卡顿 跨页面传值, 可以用两种方法: Toolkit.Mvvm中的Message和IOC. 下面是代码: using Microsoft.Extensions.DependencyInjection; using NavTest.Eneities; using NavTest.Views; using System; using System.Collections.ObjectModel; using System.Data; using System.Linq; using System.Reflection; using System.Windows;namespace NavTest {/// summary/// Interaction logic for App.xaml/// /summarypublic partial class App : Application{public App() Services ConfigureServices();public IServiceProvider? Services { get; }public new static App Current (App)Application.Current;private IServiceProvider? ConfigureServices(){ServiceCollection services new ServiceCollection();//View#region ViewModel,View 注入services.AddSingletonNewMainView();services.AddSingletonPage1();services.AddSingletonPage2();services.AddSingletonPage3();services.AddSingletonPage5();var viewModelTypes Assembly.GetExecutingAssembly().GetTypes().Where(t t.Name.EndsWith(ViewModel));foreach (var type in viewModelTypes){services.AddScoped(type);}//services.AddSingletonPage2(sp new Page2()//{// DataContext sp.GetServicePage2ViewModel()//});#endregion//PLC注入services.AddSingletonPLCModels();return services.BuildServiceProvider();}private void Application_Startup(object sender, StartupEventArgs e){NewMainView newMainView this.Services?.GetServiceNewMainView();newMainView.Show();//MainView? mainView this.Services?.GetServiceMainView();//mainView.DataContext this.Services?.GetServiceMainViewModel();//mainView.Show();}} } 模型定义: using CommunityToolkit.Mvvm.ComponentModel; using System.ComponentModel;namespace NavTest.Eneities {public partial class PLCModel : INotifyPropertyChanged{public int Id { get; set; }public string? Name { get; set; }public string? DataType { get; set; }//[ObservableProperty]//private int plcValue;private int plcValue;public event PropertyChangedEventHandler? PropertyChanged;public int PlcValue{get plcValue;set{if (plcValue ! value){plcValue value;NotifyPropertyChanged(nameof(PlcValue));}}}private void NotifyPropertyChanged(string propertyName){PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));}} } using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks;namespace NavTest.Eneities {public partial class PLCModels{public PLCModels(){for (int i 0; i 200; i){pLCModels.Add(new PLCModel(){Id i,PlcValue i,Name $名字{i},});}}public ObservableCollectionPLCModel pLCModels { get; set; } new();} } 主页面产生数据: using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; using NavTest.Eneities; using NavTest.Views; using NPOI.SS.Formula.Functions; using System; using System.Collections.ObjectModel; using System.Threading.Tasks; using System.Windows;namespace NavTest.ViewModels {public partial class NewMainViewModel : ObservableRecipient{public NewMainViewModel(Page1 page1, Page2 page2, Page3 page3, Page5 page5, PLCModels pLCModelsIoc){this.page1 page1;this.page2 page2;this.page3 page3;this.page5 page5;this.pLCModelsIoc pLCModelsIoc;IsActive true;this.MyContent page2;PlcGetValue();}[ObservableProperty]private object? myContent;private readonly Page1 page1;private readonly Page2 page2;private readonly Page3 page3;private readonly Page5 page5;private PLCModels pLCModelsIoc;[ObservableProperty]private ObservableCollectionPLCModel pLCModels;private int myUshort1;public int MyUshort1{get myUshort1;set SetProperty(ref myUshort1, value, true);}[RelayCommand]public void MaxNormor(Window window){window.WindowState window.WindowState WindowState.Maximized? WindowState.Normal: WindowState.Maximized;}[RelayCommand]public void SwitchPage(string str){switch (str){case main://this.MyContent;break;case page1:this.MyContent page1;break;case page2:this.MyContent page2;break;case page3:this.MyContent page3;break;case page5:this.MyContent page5;break;default:break;}}private void PlcGetValue(){Task.Run(async () {while (true){await Task.Delay(500);//用Message传递PLCModels new();for (int i 0; i 90; i){var random new Random();PLCModels.Add(new(){Id i,Name $Name{i},PlcValue random.Next(1, 500)});if (i 10){MyUshort1 random.Next(1, 500);}}//用Ioc传递for (int j 0; j 200; j){var random new Random();pLCModelsIoc.pLCModels[j].PlcValue random.Next(1, 500);}}});}} } 用ViewModel的Message 传值: using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Messaging; using CommunityToolkit.Mvvm.Messaging.Messages; using NavTest.Eneities; using System.Collections.ObjectModel;namespace NavTest.ViewModels {/// summary/// 用ViewModel 的 Message传递变化的值/// /summarypublic partial class Page2ViewModel : ObservableRecipient, IRecipientPropertyChangedMessageint{[ObservableProperty]private ObservableCollectionPLCModel pLCModels;public Page2ViewModel(){IsActive true;}public void Receive(PropertyChangedMessageint message){if (message.Sender is NewMainViewModel vm){this.PLCModels vm.PLCModels;}}} } UserControlx:ClassNavTest.Views.Page2xmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:conclr-namespace:ValueConverters;assemblyValueConvertersxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:hchttps://handyorg.github.io/handycontrolxmlns:ihttp://schemas.microsoft.com/xaml/behaviorsxmlns:localclr-namespace:NavTest.Viewsxmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:mvclr-namespace:NavTest.ViewModelsxmlns:sysclr-namespace:System;assemblymscorlibxmlns:ttclr-namespace:NavTest.Eneitiesxmlns:vcclr-namespace:NavTest.Componentsd:DataContext{d:DesignInstance mv:Page2ViewModel}d:DesignHeight450d:DesignWidth800FontSize22mc:IgnorabledGridGrid.RowDefinitionsRowDefinition Height0.1* /RowDefinition //Grid.RowDefinitionsStackPanel HorizontalAlignmentCenter VerticalAlignmentCenterTextBlock ForegroundWhite Text用viewModel的消息传递 //StackPanelScrollViewer Grid.Row1 VerticalScrollBarVisibilityAutoItemsControl AlternationCount2 ItemsSource{Binding PLCModels}ItemsControl.ItemsPanelItemsPanelTemplateWrapPanel //ItemsPanelTemplate/ItemsControl.ItemsPanelItemsControl.ItemTemplateDataTemplateBorder x:Nameborder Padding2 BorderThickness2 BorderBrushCyanStackPanelTextBlock ForegroundWhite Text{Binding Id} /TextBlock ForegroundWhite Text{Binding Name} /TextBlock ForegroundWhite Text{Binding PlcValue} //StackPanel/BorderDataTemplate.TriggersTrigger PropertyItemsControl.AlternationIndex Value1Setter TargetNameborder PropertyBackground Valuegreen //Trigger/DataTemplate.Triggers/DataTemplate/ItemsControl.ItemTemplate/ItemsControl/ScrollViewer/Grid/UserControl 用IOC传值: using CommunityToolkit.Mvvm.ComponentModel; using NavTest.Eneities; using System.Collections.ObjectModel;namespace NavTest.ViewModels {/// summary/// 用Ioc传递变化的值/// /summarypublic partial class Page3ViewModel : ObservableObject{public Page3ViewModel(PLCModels pLCModelsIoc){pLCModels pLCModelsIoc.pLCModels;}[ObservableProperty]private ObservableCollectionPLCModel pLCModels;} } UserControlx:ClassNavTest.Views.Page3xmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:hchttps://handyorg.github.io/handycontrolxmlns:ihttp://schemas.microsoft.com/xaml/behaviorsxmlns:localclr-namespace:NavTest.Viewsxmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:mvclr-namespace:NavTest.ViewModelsxmlns:sysclr-namespace:System;assemblymscorlibxmlns:ttclr-namespace:NavTest.Eneitiesxmlns:vcclr-namespace:NavTest.Componentsd:DataContext{d:DesignInstance mv:Page3ViewModel}d:DesignHeight450d:DesignWidth800FontSize24mc:IgnorabledGridGrid.RowDefinitionsRowDefinition Height0.1* /RowDefinition //Grid.RowDefinitionsStackPanel HorizontalAlignmentCenter VerticalAlignmentCenterTextBlock ForegroundWhite Text用Ioc传递 //StackPanelScrollViewer Grid.Row1 VerticalScrollBarVisibilityAutoItemsControl AlternationCount2 ItemsSource{Binding PLCModels}ItemsControl.ItemsPanelItemsPanelTemplateWrapPanel //ItemsPanelTemplate/ItemsControl.ItemsPanelItemsControl.ItemTemplateDataTemplateBorderx:NameborderPadding2BorderBrushYellowBorderThickness2StackPanelTextBlock ForegroundWhite Text{Binding Id} /TextBlock ForegroundWhite Text{Binding Name} /TextBlock ForegroundWhite Text{Binding PlcValue} //StackPanel/BorderDataTemplate.TriggersTrigger PropertyItemsControl.AlternationIndex Value1Setter TargetNameborder PropertyBackground ValueBlue //Trigger/DataTemplate.Triggers/DataTemplate/ItemsControl.ItemTemplate/ItemsControl/ScrollViewer/Grid /UserControl 效果图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83679.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

万年历网站做珠海网站建设q.479185700強

全世界只有3.14 % 的人关注了数据与算法之美(图片来源于网络,侵权删)

英文免费注册网站品牌注册商标查询

我发现了 石油 新的排序算法!!! 算法: 定义布尔数组a[NUM] (我也不知道NUM的值) 输入 n,循环输入n次整数x,每次输入把a[x]的值改为1,输出每个 a[i]1 的 i 是有序序列 算法时间复杂度 O(n) 空间占用(字节…

网站开发需求说明书南通高端网站建设开发

问题: 求 $[L, R]$ 之间的素数表 解法: 一个合数 $n$ 的最小素因子不超过 $\sqrt{n}$。 先用埃氏筛法求出 $[1,\lfloor \sqrt{R} \rfloor]$ 上的素数表 再在 $[L, R]$ 上用埃氏筛法求素数 const int N(1e5); bool isprime[N]; int prime[N]; void init()…

网站制作毕业设计wordpress导入模板

上篇文章搭建了一个UDP多播程序的基础,所谓基础,就是看着它,我可以写简单的多播程序了,可以在这个基础上面开始工作了。会多播了,多播的内容从哪里来,播出什么内容呢?呵呵,有个设备&…

ICP备案网站服务内容工程施工行业在哪个网站容易找事做

哈喽,大家好呀,淼淼又来和大家见面啦,最近有很多小伙伴都被难住了,是什么问题给他们都难住了呢,许多小伙伴都说想要把h5网页打包成iOS苹果IPA文件,但是却不知道具体怎么操作,是怎么样的一个流程…

百度网站好评fwa 网站 欣赏

一、目的 1.powershell能简单写一些小脚本,不需要exe开发这么笨重。 2.在windows实现某个特定功能,做成一个exe能方便查看管理。 二、实现 1.C# code 运行结束加入返回值 Environment.ExitCode 1; //自定义数字 2.powershell 调用并获取 需要增加…

阿里做外贸的网站上海设计网站

660这本习题册的难度不小,它不仅考察你对知识点的掌握程度,还考察你的解题思路和方法。很多题目会同时涉及多个知识点,而且对概念的挖掘非常深入,甚至在一些容易出错的地方还设置了陷阱,这对于基础不扎实的同学来说&am…

建设网站需要什么内容微分销免费平台

原创/朱季谦 最近通过Vue Element ui实现了动态表单功能,该功能还包括了动态表单新增行、删除行、动态表单验证、动态表单提交功能,趁热打铁,将开发心得记录下来,方便以后再遇到类似功能时,直接拿来应用。 简化的页…

调查网站赚钱江苏建设考试培训网

文章目录 1. 安装CUDA与CUDNN2. Anaconda安装PyTorch3. notebook添加自己创建的环境4. Anaconda安装相关的库5. GPU测试 1. 安装CUDA与CUDNN csdn大佬安装步骤 【CUDA】cuda安装 (windows版) 查看此电脑的CUDA版本配置 自己电脑上GPU使用的详细参数 n…

做产品网站设计应该注意什么网站营销的优势

一、ShardingSphere ShardingSphere 是一款起源于当当网内部的应用框架。2015年在当当网内部诞 生,最初就叫ShardingJDBC 。2016年的时候,由其中一个主要的开发人员张亮, 带入到京东数科,组件团队继续开发。在国内历经了当当网、电…

做一的同志小说网站wordpress虚拟资源

面向 Dev 频道的 Windows 预览体验成员,微软现已推送 Windows 11 预览版 Build 25163。主要变化1.微软宣布为 Windows 11 任务栏引入全新溢出体验,当任务栏上的应用程序图标或窗口达到任务栏容量上限时,将启用全新溢出菜单。2.微软更新了 Mic…

网站psd 模板wordpress 注册 地址

OpenEuler简介 openEuler是一款开源操作系统。当前openEuler内核源于Linux,支持鲲鹏及其它多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大数据、云计算、人工智…

深圳网站平面设计网站建站的书籍

自动化备份对于维护数据库的完整性和安全性至关重要。本指南将向您展示如何使用Shell脚本来自动化MySQL数据库的备份过程。 备份脚本内容 首先,这是我们将使用的备份脚本: #!/bin/bash# 完成数据库的定时备份 # 备份路径 BACKUP/data/backup/db # 当前…

企业网站优化问题沈阳网站开发公司

最近在项目中使用到surfaceview做视频的实时流,遇到一个很奇葩的效果 ,在使用surfaceview因为surfaceview是双缓存机制,所以他需要设置 setZOrderOnTop(true); 让他显示在所依赖的窗口的最顶层才能更好的显示 这个是在surfaceview里面找到的…

做邀请函用哪个网站好呢做网站首页文件

图神经网络--GNN从入门到精通 一、图的基本表示和特征工程1.1 什么是图1.2 图的基本表示1.3 图的性质--度(degree)1.4 连通图,连通分量1.5有向图连通性1.6图直径1.7度中心性1.7特征中心性( Eigenvector Centrality)1.8中介中心性 …

自己制作网站视频教程广州wap网站制作

0x01 产品简介 Hikvision Intercom Broadcasting System是中国海康威视(Hikvision)公司的一个对讲广播系统。 0x02 漏洞概述 Hikvision Intercom Broadcasting System 3.0.3_20201113_RELEASE(HIK)版本存在操作系统命令注入漏洞,该漏洞源于文件/php/ping.php的参数jsonda…

山西太原网站制作最近时事热点新闻评论及点评

在Vatee万腾的科技探险中,我们领略到了一场数字化力量的前瞻征途,这是一次引领未来的创新之旅。Vatee万腾以其独特的科技理念和数字化力量,开启了一次引领行业的前瞻性征途,为数字化未来描绘出了崭新的篇章。 Vatee万腾的数字化力…

阳江市网站备案幕布西宁服务

Redis击穿是指在高并发情况下,一个键在缓存中过期失效时,同时有大量请求访问该键,导致所有请求都落到数据库上,对数据库造成压力。这种情况下,数据库可能无法及时处理这些请求,导致性能下降甚至崩溃。 为了…

河南如何优化网站网站备案收费吗

导读:秒杀的检索结果,小米官方网站包含秒杀价格及秒杀适配机型,官方推荐秒杀产品,帮助米粉挑选合适自己的秒杀商品。 仿小米手机商城的全套页面。包含首页,订单页,列表页,商品详情页,个人中心,购物车,等等几十个页面。 有轮播的实现,demo 基于html css 实现小米官网部分内容搭…