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

山东助企网站建设广州谷歌推广

山东助企网站建设,广州谷歌推广,百度关键词优化费用,问答营销是基于什么的新型网络营销方式文章目录 1、项目创建2、UI界面布局1. MainWindow.xaml2、颜色转换器实现2.MainViewModel.cs 代码实现 3、运行效果4.源代码下载 1、项目创建 打开 VS2022 ,新建项目 Wpf_Examples,创建各层级文件夹,安装 CommunityToolkit.Mvvm 和 Microsof…

文章目录

  • 1、项目创建
  • 2、UI界面布局
    • 1. MainWindow.xaml
    • 2、颜色转换器实现
    • 2.MainViewModel.cs 代码实现
  • 3、运行效果
  • 4.源代码下载


1、项目创建

打开 VS2022 ,新建项目 Wpf_Examples,创建各层级文件夹,安装 CommunityToolkit.Mvvm 和 Microsoft.Extensions.DependencyInjectio NuGet包,完成MVVM框架搭建。搭建完成后项目层次如下图所示:
在这里插入图片描述
这里如何实现 MVVM 框架可以参考本人 像 MvvmLight 一样使用 CommunityToolkit.Mvvm 工具包 的文章

2、UI界面布局

1. MainWindow.xaml

<Window x:Class="Wpf_Examples.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:converter="clr-namespace:Wpf_Examples.Converters"xmlns:local="clr-namespace:Wpf_Examples"DataContext="{Binding Source={StaticResource Locator},Path=Main}"mc:Ignorable="d"Title="MainWindow" Height="450" Width="800"><Window.Resources><converter:StatusToColorConverter x:Key="StatusToColorConverter"/></Window.Resources><Grid><Grid><Grid.ColumnDefinitions><ColumnDefinition/><ColumnDefinition/><ColumnDefinition/></Grid.ColumnDefinitions><StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Right"><TextBlock Text="网络" FontSize="16" Foreground="DarkGray" Margin="0 0 20 0"/><Ellipse Width="20" Height="20" Fill="{Binding NetStatusValue, Converter={StaticResource StatusToColorConverter}}"/></StackPanel><StackPanel Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"><TextBlock Text="PLC" FontSize="16" Foreground="DarkGray" Margin="0 0 20 0"/><Ellipse Width="20" Height="20" Fill="{Binding PLCStatusValue, Converter={StaticResource StatusToColorConverter}}"/></StackPanel><StackPanel Grid.Column="2" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left"><TextBlock Text="相机" FontSize="16" Foreground="DarkGray" Margin="0 0 20 0"/><Ellipse Width="20" Height="20" Fill="{Binding DevStatusValue, Converter={StaticResource StatusToColorConverter}}"/></StackPanel></Grid></Grid>
</Window>

界面效果如下:
在这里插入图片描述

2、颜色转换器实现

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();}}
}

2.MainViewModel.cs 代码实现

代码如下(示例):

using CommunityToolkit.Mvvm.ComponentModel;
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 MainViewModel:ObservableObject{/// <summary>/// 网络状态按钮名称/// </summary>private int netStatusValue = 2;public int NetStatusValue{get { return netStatusValue; }set { SetProperty(ref netStatusValue, value); }}/// <summary>/// PLC状态按钮名称/// </summary>private int plcStatusValue = 1;public int PLCStatusValue{get { return plcStatusValue; }set { SetProperty(ref plcStatusValue, value); }}/// <summary>/// 设备状态/// </summary>private int devStatusValue = 0;public int DevStatusValue{get { return devStatusValue; }set { SetProperty(ref devStatusValue, value); }}public MainViewModel(){CreateTimer();}private void CreateTimer(){#region 每秒定时器服务DispatcherTimer cpuTimer = new DispatcherTimer{Interval = new TimeSpan(0, 0, 0, 3, 0)};cpuTimer.Tick += DispatcherTimer_Tick;cpuTimer.Start();#endregion}private void DispatcherTimer_Tick(object sender, EventArgs e){DevStatusValue=StatusChange(DevStatusValue);NetStatusValue=StatusChange(NetStatusValue);PLCStatusValue=StatusChange(PLCStatusValue);}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、运行效果

在这里插入图片描述

4.源代码下载

CSDN下载链接WPF+MVVM案例实战-设备状态LED灯变化实现

http://www.dinnco.com/news/64464.html

相关文章:

  • 甘肃省嘉峪关建设局网站百度指数怎么算
  • 网站地图设计友情链接的网站
  • 别人用我的备案信息做网站太原搜索排名提升
  • h5网站制作接单网站排名分析
  • 广东茶叶网站建设免费推广seo
  • 做公司的网站有哪些山西seo
  • 微网站建设要多少钱百度网盘手机版
  • 响应式网站是做列表重庆网站优化
  • 发帖子有哪些app平台seo网站排名推广
  • 手机交友网站源码网络推广员是什么工作
  • 网站建设 微信微博外包开发网站需要多少钱
  • 高端品牌网站设计公司价格跟我学seo从入门到精通
  • 做代码的网站360上网安全导航
  • dw怎么做网站地图手机百度app下载
  • 做课件可赚钱的网站廊坊网站seo
  • 怎么创建网站平台百度视频
  • 免费自助建站排名腾讯推广一次广告多少钱
  • 重庆市建设考试报名网站百度24小时人工客服电话
  • 网站设计宽度尺寸app推广地推接单网
  • 企业宣传网站有哪些太原优化排名推广
  • 网上书城网站建设目的四川旅游seo整站优化站优化
  • 取消网站验证码全国各城市感染高峰进度查询
  • 一站式网站建设设计网站seo外包公司有哪些
  • 做常识的网站青岛seo整站优化哪家专业
  • 静态网站怎么做网站搜索排名
  • 网站开发合作协议合同范本网站是怎么做的
  • 呼和浩特网站建设费用会计培训班一般收费多少
  • 古玩网站源码绍兴seo推广公司
  • 遵义哪里有做网站的网络营销企业案例
  • wordpress获取文章第一张图片青岛设计优化公司