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

南通企业自助建站网线水晶头的接线方法

南通企业自助建站,网线水晶头的接线方法,网站开发的对联,公司要建立网站要怎么做1、创建项目 打开 VS2022 #xff0c;新建项目 Wpf_Examples#xff0c;创建各层级文件夹#xff0c;安装 CommunityToolkit.Mvvm 和 Microsoft.Extensions.DependencyInjectio NuGet包,完成MVVM框架搭建。搭建完成后项目层次如下图所示#xff1a; 这里如何实现 MVVM 框…1、创建项目 打开 VS2022 新建项目 Wpf_Examples创建各层级文件夹安装 CommunityToolkit.Mvvm 和 Microsoft.Extensions.DependencyInjectio NuGet包,完成MVVM框架搭建。搭建完成后项目层次如下图所示 这里如何实现 MVVM 框架可以参考本人 像 MvvmLight 一样使用 CommunityToolkit.Mvvm 工具包 的文章 2、整理项目 1、项目目录层级 在前面该案例前已经发布了两个案例为了后续不断推出的新案例我们先将项目整理成一个整体做成整套案例系统,后续所有的案例都在该项目上迭代更新。目前先做简单的归纳处理我们把所有案例都单独放在一个窗体主窗体做按钮菜单每个案例通过弹窗方式呈现。基于以上整理后得到系统文件层级分布如下所示 2、案例代码实现 1、主界面菜单实现 1、MainWindow.xaml 代码 Window x:ClassWpf_Examples.MainWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:converterclr-namespace:Wpf_Examples.Convertersxmlns:localclr-namespace:Wpf_Examplesxmlns:ccclr-namespace:CustomControlLib;assemblyCustomControlLibDataContext{Binding Source{StaticResource Locator},PathMain}mc:IgnorabledTitleMainWindow Height450 Width800GridWrapPanelButton Width120 Height30 FontSize18 Content图片按钮 Command{Binding ButtonClickCmd} CommandParameter{Binding RelativeSource{RelativeSource ModeSelf},PathContent} Margin8/Button Width120 Height30 FontSize18 ContentLED效果灯 Command{Binding ButtonClickCmd} CommandParameter{Binding RelativeSource{RelativeSource ModeSelf},PathContent} Margin8/Button Width120 Height30 FontSize18 Content动态数字卡 Command{Binding ButtonClickCmd} CommandParameter{Binding RelativeSource{RelativeSource ModeSelf},PathContent} Margin8//WrapPanel/Grid /Window 2、MainViewWindow. 代码 using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Media.Imaging; using System.Windows.Threading; using Wpf_Examples.Views;namespace Wpf_Examples.ViewModels {public class MainViewModel : ObservableObject{public RelayCommandstring ButtonClickCmd { get; set; }public MainViewModel(){ButtonClickCmd new RelayCommandstring(FunMenu);}private void FunMenu(string obj){switch (obj){case 图片按钮:PopWindow(new ImageButtonWindow());break;case LED效果灯:PopWindow(new LEDStatusWindow());break;case 动态数字卡:PopWindow(new DataCardWindow());break;}}private void PopWindow(Window window){var mainWindowInstance App.Current.MainWindow; // 获取主窗口实例window.Owner mainWindowInstance;window.WindowStartupLocation WindowStartupLocation.CenterOwner;window.ShowDialog();}} } 3、界面效果 2、案例一 图片按钮整理实现 1、ImageButtonWindow.xaml 代码 Window x:ClassWpf_Examples.Views.ImageButtonWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:ccclr-namespace:CustomControlLib;assemblyCustomControlLibxmlns:converterclr-namespace:Wpf_Examples.Convertersxmlns:localclr-namespace:Wpf_Examples.ViewsDataContext{Binding Source{StaticResource Locator},PathImageButton}mc:IgnorabledTitleImageButtonWindow Height450 Width800Window.Resourcesconverter:InverseBooleanConverter x:KeyInverseBooleanConverter//Window.ResourcesGridGrid.RowDefinitionsRowDefinition/RowDefinition//Grid.RowDefinitionsStackPanel OrientationHorizontal VerticalAlignmentCenter HorizontalAlignmentRightTextBlock Text双按钮状态控制边框同时虚线实线切换 FontSize30 VerticalAlignmentCenter HorizontalAlignmentCenter Margin0 0 80 0/cc:ImageTextButton Text开始生产 ToolTip开始生产 IsDashedBorder{Binding SystemStatus} Command{Binding ButtonClickCmd} CommandParameter{Binding RelativeSource{RelativeSource ModeSelf},PathToolTip} Width70 Height70 Margin0,0,5,0 ImageSourcepack://application:,,,/Wpf_Examples;component/Assets/Images/Start.png/cc:ImageTextButton Text停止生产 ToolTip停止生产 IsDashedBorder{Binding SystemStatus,Converter{StaticResource InverseBooleanConverter}} Command{Binding ButtonClickCmd} CommandParameter{Binding RelativeSource{RelativeSource ModeSelf},PathToolTip} Width70 Height70 Margin0,0,5,0 ImageSourcepack://application:,,,/Wpf_Examples;component/Assets/Images/Stop.png//StackPanelStackPanel OrientationHorizontal VerticalAlignmentCenter HorizontalAlignmentRight Grid.Row1TextBlock Text单按钮状态控制切换背景图片和文本 FontSize30 VerticalAlignmentCenter HorizontalAlignmentCenter Margin0 0 80 0/cc:ImageTextButton Text{Binding ButtonName} Command{Binding SingleButtonClickCmd} ImageSource{Binding ImageSource} CommandParameter{Binding RelativeSource{RelativeSource ModeSelf},PathText} Width70 Height70 Margin0,0,5,0 //StackPanel/Grid /Window 2、ImageButtonViewModel.cs 代码 using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Media.Imaging;namespace Wpf_Examples.ViewModels {public class ImageButtonViewModel:ObservableObject{/// summary/// 生产状态按钮名称/// /summaryprivate string buttonName;public string ButtonName{get { return buttonName; }set { SetProperty(ref buttonName, value); }}/// summary/// 系统运行状态/// /summaryprivate bool systemStatus false;public bool SystemStatus{get { return systemStatus; }set { SetProperty(ref systemStatus, value); }}/// summary/// 产线状态/// /summaryprivate bool productStatus false;public bool ProductStatus{get { return productStatus; }set { SetProperty(ref productStatus, value); }}/// summary/// 生产状态背景图/// /summaryprivate BitmapImage imageSource;public BitmapImage ImageSource{get { return imageSource; }set { SetProperty(ref imageSource, value); }}public RelayCommand SingleButtonClickCmd { get; set; }public RelayCommandstring ButtonClickCmd { get; set; }public ImageButtonViewModel(){SingleButtonClickCmd new RelayCommand(StatusChange);ButtonClickCmd new RelayCommandstring(FunMenu);StatusChange();}private void FunMenu(string obj){switch (obj){case 开始生产:SystemStatus true;break;case 停止生产:SystemStatus false;break;}}private void StatusChange(){if (!ProductStatus){ButtonName 开始生产;ImageSource new BitmapImage(new Uri(pack://application:,,,/Wpf_Examples;component/Assets/Images/Start.png));ProductStatus true;}else{ButtonName 停止生产;ImageSource new BitmapImage(new Uri(pack://application:,,,/Wpf_Examples;component/Assets/Images/Stop.png));ProductStatus false;}}} } 3、InverseBooleanConverter.cs 转换器代码 using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Data;namespace Wpf_Examples.Converters {public class InverseBooleanConverter : IValueConverter{public object Convert(object value, Type targetType, object parameter, CultureInfo culture){return !(value is bool boolValue) || !boolValue;}public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture){return !(value is bool boolValue) || !boolValue;}} } 3、案例二 LED灯整理实现 1、LEDStatusWindow.xaml 代码 Window x:ClassWpf_Examples.Views.LEDStatusWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:converterclr-namespace:Wpf_Examples.Convertersxmlns:localclr-namespace:Wpf_Examples.ViewsDataContext{Binding Source{StaticResource Locator},PathLedStatus}mc:IgnorabledTitleLEDStatusWindow Height450 Width800Window.Resourcesconverter:StatusToColorConverter x:KeyStatusToColorConverter//Window.ResourcesGridGrid.ColumnDefinitionsColumnDefinition/ColumnDefinition/ColumnDefinition//Grid.ColumnDefinitionsStackPanel OrientationHorizontal VerticalAlignmentCenter HorizontalAlignmentRight TextBlock Text网络 FontSize16 ForegroundDarkGray Margin0 0 20 0/Ellipse Width20 Height20 Fill{Binding NetStatusValue, Converter{StaticResource StatusToColorConverter}}//StackPanelStackPanel Grid.Column1 OrientationHorizontal VerticalAlignmentCenter HorizontalAlignmentCenterTextBlock TextPLC FontSize16 ForegroundDarkGray Margin0 0 20 0/Ellipse Width20 Height20 Fill{Binding PLCStatusValue, Converter{StaticResource StatusToColorConverter}}//StackPanelStackPanel Grid.Column2 OrientationHorizontal VerticalAlignmentCenter HorizontalAlignmentLeftTextBlock Text相机 FontSize16 ForegroundDarkGray Margin0 0 20 0/Ellipse Width20 Height20 Fill{Binding DevStatusValue, Converter{StaticResource StatusToColorConverter}}//StackPanel/Grid /Window 2、LEDStatusViewModel.cs 代码 using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Threading;namespace Wpf_Examples.ViewModels {public class LEDStatusViewModel: ObservableObject{/// summary/// 网络状态按钮名称/// /summaryprivate int netStatusValue 2;public int NetStatusValue{get { return netStatusValue; }set { SetProperty(ref netStatusValue, value); }}/// summary/// PLC状态按钮名称/// /summaryprivate int plcStatusValue 1;public int PLCStatusValue{get { return plcStatusValue; }set { SetProperty(ref plcStatusValue, value); }}/// summary/// 设备状态/// /summaryprivate int devStatusValue 0;public int DevStatusValue{get { return devStatusValue; }set { SetProperty(ref devStatusValue, value); }}/// summary/// 系统运行状态/// /summaryprivate bool systemStatus false;public bool SystemStatus{get { return systemStatus; }set { SetProperty(ref systemStatus, value); }}public LEDStatusViewModel(){CreateTimer();}private void DispatcherTimer_Tick(object sender, EventArgs e){DevStatusValue StatusChange(DevStatusValue);NetStatusValue StatusChange(NetStatusValue);PLCStatusValue StatusChange(PLCStatusValue);}private void CreateTimer(){#region 每秒定时器服务DispatcherTimer cpuTimer new DispatcherTimer{Interval new TimeSpan(0, 0, 0, 3, 0)};cpuTimer.Tick DispatcherTimer_Tick;cpuTimer.Start();#endregion}private int StatusChange(int value){int outVal 0;//状态变化if (value 0){outVal 1;}else if (value 1){outVal 2;}else{outVal 0;}return outVal;}} } 3、StatusToColorConverter.cs 转换器代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Data; using System.Windows.Media;namespace Wpf_Examples.Converters {public class StatusToColorConverter : IValueConverter{public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture){if (value is int statusValue){switch (statusValue){case 0:return Brushes.Red;case 1:return #E5D21C;case 2:return Brushes.Green;default:return Brushes.Green; // 默认颜色}}return Brushes.Gray;}public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture){throw new NotImplementedException();}} } 4、动态数字卡实现 1、DataCardWindow.xaml 界面代码实现 Window x:ClassWpf_Examples.Views.DataCardWindowxmlnshttp://schemas.microsoft.com/winfx/2006/xaml/presentationxmlns:xhttp://schemas.microsoft.com/winfx/2006/xamlxmlns:dhttp://schemas.microsoft.com/expression/blend/2008xmlns:mchttp://schemas.openxmlformats.org/markup-compatibility/2006xmlns:localclr-namespace:Wpf_Examples.ViewsDataContext{Binding Source{StaticResource Locator},PathDataCard}mc:IgnorabledTitleDataCardWindow Height450 Width800 Background#2B2B2BGrid!--第二列--StackPanel OrientationHorizontal VerticalAlignmentCenter HorizontalAlignmentCenterStackPanel.ResourcesDataTemplate x:KeymachineCountBorder Width15 Background#99D40B0B Margin2,0TextBlock Text{Binding} VerticalAlignmentCenter HorizontalAlignmentCenter ForegroundWhite FontSize16/TextBlock/Border/DataTemplate/StackPanel.ResourcesTextBlock Text机台#13;总数 Foreground#99ffffff Margin10,0 VerticalAlignmentCenter FontSize10/TextBlockItemsControl ItemsSource{Binding MachineCount} ItemTemplate{StaticResource machineCount}ItemsControl.ItemsPanelItemsPanelTemplateStackPanel OrientationHorizontal/StackPanel/ItemsPanelTemplate/ItemsControl.ItemsPanel/ItemsControlTextBlock Text生产计数 Foreground#99ffffff VerticalAlignmentCenter FontSize10 Margin20,0/TextBlockItemsControl ItemsSource{Binding ProductCount} ItemTemplate{StaticResource machineCount}ItemsControl.ItemsPanelItemsPanelTemplateStackPanel OrientationHorizontal/StackPanel/ItemsPanelTemplate/ItemsControl.ItemsPanel/ItemsControlTextBlock Text不良计数 Foreground#99ffffff Margin20,0 VerticalAlignmentCenter FontSize10/TextBlockItemsControl ItemsSource{Binding BadCount} ItemTemplate{StaticResource machineCount}ItemsControl.ItemsPanelItemsPanelTemplateStackPanel OrientationHorizontal/StackPanel/ItemsPanelTemplate/ItemsControl.ItemsPanel/ItemsControl/StackPanel/Grid /Window 2、DataCardViewModel.cs 代码实现 using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Messaging.Messages; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Threading;namespace Wpf_Examples.ViewModels {public class DataCardViewModel:ObservableObject{#region 计数/// summary/// 机台总数/// /summaryprivate string _MachineCount 02981;/// summary/// 机台总数/// /summarypublic string MachineCount{get { return _MachineCount; }set{SetProperty(ref _MachineCount, value);}}/// summary/// 生产计数/// /summaryprivate string _ProductCount 16403;/// summary/// 生产计数/// /summarypublic string ProductCount{get { return _ProductCount; }set{SetProperty(ref _ProductCount, value);}}/// summary/// 不良计数/// /summaryprivate string _BadCount 0403;/// summary/// 不良计数/// /summarypublic string BadCount{get { return _BadCount; }set{SetProperty(ref _BadCount, value);}}#endregionpublic DataCardViewModel(){CreateTimer();}private void CreateTimer(){#region 每秒定时器服务DispatcherTimer cpuTimer new DispatcherTimer{Interval new TimeSpan(0, 0, 0, 2, 0)};cpuTimer.Tick DispatcherTimer_Tick;cpuTimer.Start();#endregion}private void DispatcherTimer_Tick(object sender, EventArgs e){ValueChanged();}private void ValueChanged(){Random random new Random();ProductCount random.Next(100, 9999).ToString();BadCount random.Next(100, 999).ToString();}} } 3、效果展示 4.源代码 CSDN下载链接WPFMVVM案例实战三- 动态数字卡片效果实现
http://www.dnsts.com.cn/news/223916.html

相关文章:

  • 西部数码做的网站打不开望江县城乡建设局网站
  • 南阳高质量建设大城市网站郑州网站推广信息
  • 中国建设教育协会证书查询网站哪些网站做免费送东西的广告
  • 网站特点做财经类网站要许可吗
  • 如何做好网站设计软文的本质是什么
  • 中国林业工程建设网站wordpress免费有趣插件
  • 甘肃网站建设制作商网站中的公司地址怎么做
  • 汉服销售网站建设菠菜网站建设
  • 电视台网站建设中信建设有限责任公司项目人员配置
  • 菏泽网站建设菏泽wordpress5.0.2好用吗
  • 自己的电脑做服务器,并建网站营销网站模板html
  • Wordpress调用搜索seo培训教程
  • 服务器搭建网站用什么系统网站建设 技术方案
  • 网站建设课程报告网站建设有哪些类型
  • 免费手机网站空间长沙专业网站设计平台
  • 溧阳网站建设哪家好网络推广有用吗
  • 人才网站cms做网站石家庄
  • 音乐类网站建设选题背景网络营销服务外包
  • 网上商城网站开发需求说明书设计类网站排名
  • php旅游网站论文中国执行信息公开网信息查询
  • ps网站设计怎么做软件开发成本估算表
  • 用凡科做网站的费用网站建设自动适应功能
  • 评网网站建设自己做国际网站
  • 申请网站怎么申请ai中如何做网站切图
  • 青岛制作网站的wordpress网站内容
  • 惠阳市网站建设定制型网站建设推广
  • 公司网站用什么系统平江做网站的公司
  • 团购网站模板编辑首页网店如何引流与推广
  • 网络营销师怎么考企业网站seo成功案例
  • 网站开发和软件开发哪个好wordpress放哪