当前位置: 首页 > 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.laogonggong.com/news/88530.html

相关文章:

  • 广州微网站建设服务北京网站开发网络公司
  • 网站没有根目录深圳高端网站建设美工
  • 小型公司建网站网站建设要学会什么
  • 郑州网站建设专注乐云seo中小企业网络营销
  • 门户网站建设开发需要注意什么wordpress 注册字段
  • 眉山建设中等职业技术学校 网站做个自己的影院网站怎么做
  • 免费注册二级域名网站三亚网站怎么制作
  • 蛋糕网站模版西安百度推广代理商
  • 怎么判断网站是不是模板做的wordpress 查询模板
  • 邢台路桥建设总公司没有网站吗百度不到公司网站
  • 深圳建设工程造价管理站百度seo排名主要看啥
  • 企业网站建设湖南岚鸿怎样给网站做超链接
  • 外贸网站赚钱游戏网页链接
  • 网站建设是那个行业珠海建设网站官网
  • 安溪网站建设公司h5开发wordpress客户端
  • 局域网怎么做网站广告设计自学教程
  • 网站里面的按钮链接怎么做网站建设及相关流程
  • 网站定位中国煤炭建设协网站
  • 织梦网站每天被挂马网站怎么做搜索引擎优化、
  • 萍乡企业网站制作网络营销论文题目大全
  • 蛋糕网站内容规划购物网站导航素材代码
  • 网站建设经费的函全国最好装修公司排行榜
  • 电影网站建设兰州网站制作设计
  • 建设网站要求有哪些做网站小程序多少钱
  • 益阳网站建设详细教程求个网站你明白的
  • 1688阿里巴巴国际站首页centos7安装 wordpress
  • 大连网站制作优选ls15227绍兴市建设局网站
  • 网站ip域名查询wordpress地图主题
  • 做3ds磁铁卡网站网站返回按钮设计
  • 模板网站怎么建设优化美食网站建设的可行性