C# WPF 一个设计界面

微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏。

C# WPF 一个设计界面

今天正月初三,大家在家呆着挺好,不要忘了自我充电。

武汉人民加油,今早又有噩耗,24号(8号)一路走好。

阅读导航

  1. 本文背景

  2. 代码实现

  3. 本文参考

  4. 源码

1. 本文背景

一个不错的界面设计

2. 代码实现

使用 .NET Framework 4.8 创建名为 “Dashboard1” 的WPF模板项目,添加3个Nuget库:MaterialDesignThemes.3.1.0-ci981、MaterialDesignColors.1.2.3-ci981和ModernUICharts.WPF.Beta.0.9.1,ModernUICharts 库用于绘制统计图,此库没有 .NET CORE 版本,所以项目是创建的 .NET Framework 版本。

解决方案主要文件目录组织结构:

  • Dashboard1

    • MainWindow.xaml.cs

    • App.xaml

    • MainWindow.xaml

2.1 引入样式

文件【App.xaml】,在 StartupUri 中设置启动的视图【MainWindow.xaml】,并在【Application.Resources】节点增加 MaterialDesignThemes库的样式文件:

<Application.Resources><ResourceDictionary><ResourceDictionary.MergedDictionaries><ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml" /><ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" /><ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.Blue.xaml" /><ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Indigo.xaml" /></ResourceDictionary.MergedDictionaries></ResourceDictionary>
</Application.Resources>

2.2 演示窗体

文件【MainWindow.xaml】,布局代码、统计图MVVM绑定代码都在此文件中,源码如下:

<Window x:Class="Dashboard1.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:MetroChart="clr-namespace:De.TorstenMandelkow.MetroChart;assembly=De.TorstenMandelkow.MetroChart"mc:Ignorable="d" Height="600" Width="1024" ResizeMode="NoResize" WindowStartupLocation="CenterScreen" WindowStyle="None"><Window.Resources><ResourceDictionary><Style x:Key="ScrollThumbs" TargetType="{x:Type Thumb}"><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type Thumb}"><Grid x:Name="Grid"><Rectangle HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="Auto" Fill="Transparent" /><Border x:Name="Rectangle1" CornerRadius="10" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="Auto"  Background="{TemplateBinding Background}" /></Grid><ControlTemplate.Triggers><Trigger Property="Tag" Value="Horizontal"><Setter TargetName="Rectangle1" Property="Width" Value="Auto" /><Setter TargetName="Rectangle1" Property="Height" Value="7" /></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter></Style><!--ScrollBars--><Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}"><Setter Property="Stylus.IsFlicksEnabled" Value="false" /><Setter Property="Foreground" Value="LightGray" /><Setter Property="Background" Value="DarkGray" /><Setter Property="Width" Value="10" /><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type ScrollBar}"><Grid x:Name="GridRoot" Width="19" Background="{x:Null}"><Track x:Name="PART_Track" Grid.Row="0" IsDirectionReversed="true" Focusable="false"><Track.Thumb><Thumb x:Name="Thumb" Background="{TemplateBinding Foreground}" Style="{DynamicResource ScrollThumbs}" /></Track.Thumb><Track.IncreaseRepeatButton><RepeatButton x:Name="PageUp" Command="ScrollBar.PageDownCommand" Opacity="0" Focusable="false" /></Track.IncreaseRepeatButton><Track.DecreaseRepeatButton><RepeatButton x:Name="PageDown" Command="ScrollBar.PageUpCommand" Opacity="0" Focusable="false" /></Track.DecreaseRepeatButton></Track></Grid><ControlTemplate.Triggers><Trigger SourceName="Thumb" Property="IsMouseOver" Value="true"><Setter Value="{DynamicResource ButtonSelectBrush}" TargetName="Thumb" Property="Background" /></Trigger><Trigger SourceName="Thumb" Property="IsDragging" Value="true"><Setter Value="{DynamicResource DarkBrush}" TargetName="Thumb" Property="Background" /></Trigger><Trigger Property="IsEnabled" Value="false"><Setter TargetName="Thumb" Property="Visibility" Value="Collapsed" /></Trigger><Trigger Property="Orientation" Value="Horizontal"><Setter TargetName="GridRoot" Property="LayoutTransform"><Setter.Value><RotateTransform Angle="-90" /></Setter.Value></Setter><Setter TargetName="PART_Track" Property="LayoutTransform"><Setter.Value><RotateTransform Angle="-90" /></Setter.Value></Setter><Setter Property="Width" Value="Auto" /><Setter Property="Height" Value="12" /><Setter TargetName="Thumb" Property="Tag" Value="Horizontal" /><Setter TargetName="PageDown" Property="Command" Value="ScrollBar.PageLeftCommand" /><Setter TargetName="PageUp" Property="Command" Value="ScrollBar.PageRightCommand" /></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter></Style></ResourceDictionary></Window.Resources><Grid><Grid.ColumnDefinitions><ColumnDefinition Width="200"/><ColumnDefinition Width="*"/></Grid.ColumnDefinitions><Grid.RowDefinitions><RowDefinition Height="30"/><RowDefinition Height="*"/></Grid.RowDefinitions><Grid Grid.Column="1" Grid.Row="1" Background="#FFCFCFCF"><ScrollViewer><Grid><Grid.RowDefinitions><RowDefinition Height="200"/><RowDefinition Height="*"/><RowDefinition Height="*"/></Grid.RowDefinitions><Grid.ColumnDefinitions><ColumnDefinition Width="1*"/><ColumnDefinition Width="1*"/><ColumnDefinition Width="1*"/></Grid.ColumnDefinitions><Grid Grid.Column="0"><Rectangle Height="120" Margin="20" Fill="White" RadiusY="10" RadiusX="10" ><Rectangle.Effect><DropShadowEffect BlurRadius="20" Color="#FFDEDEDE" RenderingBias="Quality" ShadowDepth="1"/></Rectangle.Effect></Rectangle><Grid Margin="25" Height="120"><Grid Width="35" Height="50" Background="#FFFFAF24" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="20 0"><Grid.Effect><DropShadowEffect BlurRadius="20" Color="#FFECECEC" RenderingBias="Quality" ShadowDepth="1"/></Grid.Effect><materialDesign:PackIcon Kind="ContentCopy" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="5" Foreground="White" Width="20" Height="20"/></Grid><TextBlock Text="使用空间" HorizontalAlignment="Right" FontFamily="Champagne &amp; Limousines" Margin="5" VerticalAlignment="Top" Foreground="Gray"/><StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="10 20"><TextBlock Text="49/50" FontFamily="Champagne &amp; Limousines" VerticalAlignment="Center" Foreground="Gray" FontSize="50"/><TextBlock Text="GB" FontFamily="Champagne &amp; Limousines" Margin="0 5" Foreground="Gray" FontSize="20" VerticalAlignment="Bottom"/></StackPanel><StackPanel Orientation="Horizontal" VerticalAlignment="Bottom" Margin="20" Cursor="Hand"><materialDesign:PackIcon Kind="AlertOutline" Foreground="Red" Width="10" Height="10" VerticalAlignment="Center" Margin="5 0"/><TextBlock Text="获得更多空间" FontSize="8" Foreground="#FF8522BD"/></StackPanel></Grid></Grid><Grid Grid.Column="1"><Rectangle Height="120" Margin="20" Fill="White" RadiusY="10" RadiusX="10" ><Rectangle.Effect><DropShadowEffect BlurRadius="20" Color="#FFDEDEDE" RenderingBias="Quality" ShadowDepth="1"/></Rectangle.Effect></Rectangle><Grid Margin="25" Height="120"><Grid Width="35" Height="50" Background="#FF41A43C" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="20 0"><Grid.Effect><DropShadowEffect BlurRadius="20" Color="#FFECECEC" RenderingBias="Quality" ShadowDepth="1"/></Grid.Effect><materialDesign:PackIcon Kind="Store" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="5" Foreground="White" Width="20" Height="20"/></Grid><TextBlock Text="收入" HorizontalAlignment="Right" FontFamily="Champagne &amp; Limousines" Margin="5" VerticalAlignment="Top" Foreground="Gray"/><StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="10 30"><TextBlock Text="¥" FontFamily="Champagne &amp; Limousines" Margin="0 2" Foreground="Gray" FontSize="20" VerticalAlignment="Bottom"/><TextBlock Text="35.674,00" FontFamily="Champagne &amp; Limousines" VerticalAlignment="Center" Foreground="Gray" FontSize="30"/></StackPanel><StackPanel Orientation="Horizontal" VerticalAlignment="Bottom" Margin="20"><materialDesign:PackIcon Kind="Calendar" Foreground="Gray" Width="10" Height="10" VerticalAlignment="Center" Margin="5 0"/><TextBlock Text="最近24小时" FontSize="8" Foreground="Gray"/></StackPanel></Grid></Grid><Grid Grid.Column="2"><Rectangle Height="120" Margin="20" Fill="White" RadiusY="10" RadiusX="10" ><Rectangle.Effect><DropShadowEffect BlurRadius="20" Color="#FFDEDEDE" RenderingBias="Quality" ShadowDepth="1"/></Rectangle.Effect></Rectangle><Grid Margin="25" Height="120"><Grid Width="35" Height="50" Background="#FFCF1F1F" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="20 0"><Grid.Effect><DropShadowEffect BlurRadius="20" Color="#FFECECEC" RenderingBias="Quality" ShadowDepth="1"/></Grid.Effect><materialDesign:PackIcon Kind="InformationOutline" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="5" Foreground="White" Width="20" Height="20"/></Grid><TextBlock Text="修正的错误" HorizontalAlignment="Right" FontFamily="Champagne &amp; Limousines" Margin="5" VerticalAlignment="Top" Foreground="Gray"/><StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="10 30"><TextBlock Text="75" FontFamily="Champagne &amp; Limousines" VerticalAlignment="Center" Foreground="Gray" FontSize="40"/></StackPanel><StackPanel Orientation="Horizontal" VerticalAlignment="Bottom" Margin="20"><materialDesign:PackIcon Kind="GithubCircle" Foreground="Gray" Width="10" Height="10" VerticalAlignment="Center" Margin="5 0"/><TextBlock Text="Github" FontSize="8" Foreground="Gray"/></StackPanel></Grid></Grid><Grid Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="3" HorizontalAlignment="Center" Width="580" Height="510"><Grid Background="White" Margin="20 50 20 20"><Grid.OpacityMask><VisualBrush Visual="{ Binding ElementName=BorderG1 }"/></Grid.OpacityMask><Border x:Name="BorderG1" CornerRadius="5" Background="White"/><StackPanel VerticalAlignment="Bottom" ><TextBlock Text="日收入" Margin="10 0" FontFamily="Champagne &amp; Limousines" Foreground="Gray" FontSize="20"/><StackPanel Orientation="Horizontal" Margin="20 5"><materialDesign:PackIcon Kind="ArrowUp" Foreground="Green" VerticalAlignment="Center"/><TextBlock Text="55%" FontFamily="Champagne &amp; Limousines" Foreground="Green" FontSize="15"/><TextBlock Text="今天的销售增长" Margin="20 0" FontFamily="Champagne &amp; Limousines" Foreground="Gray" FontSize="15"/></StackPanel><StackPanel Orientation="Horizontal" Margin="10 5"><materialDesign:PackIcon Kind="Clock" Foreground="Gray" VerticalAlignment="Center"/><TextBlock Text="更新到4分钟" Margin="5 0" FontFamily="Champagne &amp; Limousines" Foreground="Gray" FontSize="15"/></StackPanel></StackPanel></Grid><Grid Margin="50 20 50 150"><Grid.OpacityMask><VisualBrush Visual="{ Binding ElementName=BorderG2 }"/></Grid.OpacityMask><Border x:Name="BorderG2" CornerRadius="15" Background="#FF340051"/><MetroChart:RadialGaugeChart Background="{x:Null}" ChartTitle="Consumo" ChartSubTitle="" Foreground="LightGray" ><MetroChart:RadialGaugeChart.Series><MetroChart:ChartSeriesDisplayMember="Title"ItemsSource="{Binding Path=Consumo}"SeriesTitle="Consumo"ValueMember="Percent" HorizontalAlignment="Center"/></MetroChart:RadialGaugeChart.Series></MetroChart:RadialGaugeChart></Grid></Grid></Grid></ScrollViewer></Grid><Grid Grid.Row="1"><Grid.Background><LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"><GradientStop Color="LightGray" Offset="1"/><GradientStop Color="#FFE6E6E6"/></LinearGradientBrush></Grid.Background><Grid.RowDefinitions><RowDefinition Height="100"/><RowDefinition Height="*"/></Grid.RowDefinitions><Grid.Effect><DropShadowEffect BlurRadius="20" Color="#FFDEDEDE" RenderingBias="Quality" ShadowDepth="1"/></Grid.Effect><Grid Background="#FFA46FE4"><Image Source="https://img.dotnet9.com/logo-head.png"/></Grid><StackPanel Grid.Row="1"><Button Margin="10" Background="#FF8522BD" BorderBrush="#FF8522BD"><Grid Width="150"><materialDesign:PackIcon Kind="ViewDashboard" VerticalAlignment="Center"/><TextBlock HorizontalAlignment="Center" Text="仪表盘" FontFamily="Champagne &amp; Limousines"/></Grid></Button><Button Margin="10" Background="#FF8522BD" BorderBrush="#FF8522BD"><Grid Width="150"><materialDesign:PackIcon Kind="Account" VerticalAlignment="Center"/><TextBlock HorizontalAlignment="Center" Text="概况" FontFamily="Champagne &amp; Limousines"/></Grid></Button><Button Margin="10" Background="#FF8522BD" BorderBrush="#FF8522BD"><Grid Width="150"><materialDesign:PackIcon Kind="ContentPaste" VerticalAlignment="Center"/><TextBlock HorizontalAlignment="Center" Text="表格" FontFamily="Champagne &amp; Limousines"/></Grid></Button><Button Margin="10" Background="#FF8522BD" BorderBrush="#FF8522BD"><Grid Width="150"><materialDesign:PackIcon Kind="TshirtCrew" VerticalAlignment="Center"/><TextBlock HorizontalAlignment="Center" Text="产品" FontFamily="Champagne &amp; Limousines"/></Grid></Button><Button Margin="10" Background="#FF8522BD" BorderBrush="#FF8522BD"><Grid Width="150"><materialDesign:PackIcon Kind="TruckDelivery" VerticalAlignment="Center"/><TextBlock HorizontalAlignment="Center" Text="供应商" FontFamily="Champagne &amp; Limousines"/></Grid></Button><Button Margin="10" Background="#FF8522BD" BorderBrush="#FF8522BD"><Grid Width="150"><materialDesign:PackIcon Kind="Settings" VerticalAlignment="Center"/><TextBlock HorizontalAlignment="Center" Text="配置" FontFamily="Champagne &amp; Limousines"/></Grid></Button></StackPanel></Grid><Grid x:Name="GridBarraTitle" Grid.ColumnSpan="2" Background="#FF8522BD" MouseDown="GridBarraTitle_MouseDown"><TextBlock Text="仪表盘演示标题(https://dotnet9.com)" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White" FontSize="17"/><StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="10,0"><Button Style="{StaticResource MaterialDesignFloatingActionMiniAccentButton}" Width="25" Height="25" Background="{x:Null}" BorderBrush="{x:Null}" Foreground="White"><materialDesign:PackIcon Kind="Bell"/></Button><Button Style="{StaticResource MaterialDesignFloatingActionMiniAccentButton}" Width="25" Height="25" Background="{x:Null}" BorderBrush="{x:Null}" Foreground="White"><materialDesign:PackIcon Kind="Account"/></Button><Button x:Name="ButtonFechar" Style="{StaticResource MaterialDesignFloatingActionMiniAccentButton}" Width="25" Height="25" Background="{x:Null}" BorderBrush="{x:Null}" Foreground="White" Click="ButtonFechar_Click"><materialDesign:PackIcon Kind="Close"/></Button></StackPanel></Grid></Grid>
</Window>

窗口布局代码也不多,就是布局和数据绑定,下面是后台代码:文件【MainWindow.xaml.cs】,ViewModel绑定、关闭窗体、窗体移动等事件处理,因为是演示事例,所以写的简单。

using System.Collections.Generic;
using System.Windows;
using System.Windows.Input;namespace Dashboard1
{/// <summary>/// MainWindow.xaml的逻辑交互/// </summary>public partial class MainWindow : Window{public MainWindow(){InitializeComponent();Consumo consumo = new Consumo();DataContext = new ConsumoViewModel(consumo);}private void ButtonFechar_Click(object sender, RoutedEventArgs e){Application.Current.Shutdown();}private void GridBarraTitle_MouseDown(object sender, MouseButtonEventArgs e){DragMove();}}internal class ConsumoViewModel{public List<Consumo> Consumo { get; private set; }public ConsumoViewModel(Consumo consumo){Consumo = new List<Consumo>();Consumo.Add(consumo);}}internal class Consumo{public string Title { get; private set; }public int Percent { get; private set; }public Consumo(){Title = "电量消耗";Percent = CalcularPercent();}private int CalcularPercent(){return 47; //消费百分比的计算}}
}

3.本文参考

  1. 视频一:C# WPF Material Design UI: Dashboard,配套源码:Dashboard1。

  2. C# WPF开源控件库《MaterialDesignInXAML》

4.源码

演示代码已全部贴上,另可参考原作者配套视频及源码学习,见【3.本文参考】

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

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

相关文章

android中shape的属性,android中shape的属性

solid&#xff1a;实心&#xff0c;就是填充的意思android:color指定填充的颜色gradient&#xff1a;渐变android:startColor和android:endColor分别为起始和结束颜色&#xff0c;ndroid:angle是渐变角度&#xff0c;必须为45的整数倍。另外渐变默认的模式为android:type”line…

合集| 21 篇技术文章,带你从零入门 K8s

由阿里云与 CNCF 共同开发的《CNCF x Alibaba 云原生技术公开课》&#xff08;视频课程&#xff09;第一期已更新完毕。为了让大家有更好的学习体验&#xff0c;我们把视频课程转为图文&#xff0c;并请讲师重新编辑成文章&#xff0c;在公众号以“从零入门 K8s” 为系列进行每…

比尔盖茨早有预警:对大疫情爆发我们还没准备好

比尔盖茨早已预警&#xff0c;如今全球最大的危险不是核战争&#xff0c;而是高度传染的病毒&#xff0c;不是导弹&#xff0c;而是微生物。新型冠状病毒感染肺炎新增病例数仍在增长&#xff0c;钛媒体根据百度数据统计官方发布显示&#xff0c;截止发稿前1月30日9:30&#xff…

AcWing 3208. Z字形扫描

在图像编码的算法中&#xff0c;需要将一个给定的方形矩阵进行 Z 字形扫描(Zigzag Scan)。 给定一个 nn 的矩阵&#xff0c;Z 字形扫描的过程如下图所示&#xff1a; 对于下面的 44 的矩阵&#xff0c; 1 5 3 9 3 7 5 6 9 4 6 4 7 3 1 3 对其进行 Z 字形扫描后得到长度为 16 的…

写公众号的这一年多

2018年五月&#xff0c;在微信发布公众号助手之时我开通了个人公众号「不止dotNET」&#xff0c;到现在已经一年半多的时间了&#xff0c;非常时期&#xff0c;在家自我隔离&#xff0c;没事写写总结。数据总共发布了 53 篇原创文章&#xff0c;离之前的目标&#xff08;每周一…

AcWing 703. 数独检查

**数独是一种流行的单人游戏。 目标是用数字填充9x9矩阵&#xff0c;使每列&#xff0c;每行和所有9个非重叠的3x3子矩阵包含从1到9的所有数字。 每个9x9矩阵在游戏开始时都会有部分数字已经给出&#xff0c;通常有一个独特的解决方案。 给定完成的N2∗N2数独矩阵&#xff0c…

pdf文件内容查看器 -- 采用wpf开发

前言 pdf是一种应用非常广的版式文档格式&#xff0c;已成为事实上的国际标准。关于pdf格式的文章汗牛充栋&#xff0c;本文也是关于pdf格式的文章&#xff0c;但是本文不是纸上谈兵&#xff1b;本人这几周一直研究pdf格式内容&#xff0c;不但对pfd格式的内容有所了解&#xf…

​WeihanLi.Npoi 根据模板导出Excel

WeihanLi.Npoi 根据模板导出ExcelIntro原来的导出方式比较适用于比较简单的导出&#xff0c;每一条数据在一行&#xff0c;数据列虽然自定义程度比较高&#xff0c;如果要一条数据对应多行就做不到了&#xff0c;于是就想支持根据模板导出&#xff0c;在 1.8.0 版本中引入了根据…

UC浏览器如何开启html5,如何开启手机uc浏览器中的极速模式

如何开启手机uc浏览器中的极速模式当我们在使用手机的时候&#xff0c;可以下载uc浏览器来浏览网页&#xff0c;为了提升网页的浏览速度&#xff0c;可以开启浏览器中的极速模式&#xff0c;接下来就由小编来告诉大家如何操作。具体如下&#xff1a;1.第一步&#xff0c;打开手…

前端扫盲:什么是API网关?为什么它有用?

API 通常被称为应用程序从后端服务访问数据和业务逻辑的前门。API 本质上是一个软件向其他人或程序提供的接口&#xff0c;允许他们与该软件进行交互。 在创建 API 时&#xff0c;需要选择编程语言(Java、Python、PHP 等)来编写 API 逻辑&#xff0c;还需要将 API 部署到服务器…

ProjectFileManager 发布!项目文件管理效率提升10倍以上!

值此特别的新春假期&#xff0c;盛派网络在这里先祝大家新春安康&#xff01;鼠年平安、幸福、发财、万事如意&#xff01;也祝福疫区的同胞和医护人员平安度过这一段关键时期&#xff01;延长的假期显然也为我们日常工作带来了一些障碍&#xff0c;为了能够利用工具进一步提高…

简历中能熟练使用计算机怎么写,过了计算机二级,可以在简历里写“熟练掌握Excel”吗?...

原标题&#xff1a;过了计算机二级&#xff0c;可以在简历里写“熟练掌握Excel”吗&#xff1f;咨询/快消/互联网/四大/投行PEVC/券商绝大多数岗位都会要求“熟练掌握Excel”而尽管绝大多数同学“实际水平根本达不到工作要求”但是每一位同学都敢在简历上放一句薛定谔的「熟练掌…

.Net Core 认证系统之基于Identity Server4 Token的JwtToken认证源码解析

介绍JwtToken认证之前,必须要掌握.Net Core认证系统的核心原理,如果你还不了解,请参考.Net Core 认证组件源码解析,且必须对jwt有基本的了解,如果不知道,请百度.最重要的是你还需要掌握identity server4的基本用法,关于identity server4因为涉及到两个协议Oath2.0和openid conn…

【C# 调用 Go 语言】0x2 参数、返回值与类型转换

在上篇文章【C# 调用 Go 语言】0x1 Hello Golang 中&#xff0c;我们将 Golang 源码编译为动态链接库&#xff08;dll&#xff09;&#xff0c;用 C# 调用 Golang 导出的方法并成功的看到了控制台的输出。本篇文章将对 C# 调用 Golang 方法做更详细的介绍&#xff0c;涉及如何…

《ASP.NET Core 微服务实战》-- 读书笔记(第1章 、第2章)

译者序微服务设计方法清晰定义了各个开发团队的业务边界&#xff0c;微服务框架以不同方式实现了服务之间的协作与集成。.NET Core 作为全新的 .NET 技术&#xff0c;它不仅完全开源、跨平台&#xff0c;更面向云原生开发进行了大量细致的优化。它完全模块化&#xff0c;不依赖…

html缩进标签quote,HTML blockquote 标签

HTML 标签标签同样是对文本进行引用&#xff0c;不同的是该标签引用的是长文本。标签内的内容会自动有缩进。实例定义一个摘自另一个源的块引用&#xff1a;For 50 years, WWF has been protecting the future of nature. The worlds leading conservation organization, WWF w…

使用BeetleX.NetBenchmark压测TCP,HTTP和Websocket服务

真没想到大过年还在家里写代码写文章&#xff0c;本来还打算自驾半个月没想出现这情况。在这里祝福全国同胞在新的一年里身体健康&#xff01;希望阳光天气早日照射在这片土地上&#xff0c;给人带来新一年的希望&#xff01;NetBenchmark是针对网络服务压测的开源组件&#xf…

如何使用Serilog.AspNetCore记录ASP.NET Core3.0的MVC属性

这是Serilog系列的第三篇文章。第1部分-如何利用Serilog的RequestLogging来精简ASP.NET Core的日志输出第2部分-Serilog高级玩法之用Serilog记录所选终结点附加属性第3部分-使用Serilog.AspNetCore记录MVC属性&#xff08;本文&#xff09;第4部分-从Serilog请求记录中排除运行…

广东省计算机媒体大赛,广东省大学生计算机设计大赛

广东省大学生计算机设计大赛由广东省教育厅主办。比赛宗旨为进一步提高广东省高校计算机教学和信息技术与学科深度融合的水平&#xff0c;激发省内各高校各专业大学生学习计算机知识和技能的兴趣和潜能&#xff0c;提升大学生运用信息技术解决实际问题的综合实践能力&#xff0…

哈希表-拉链法及应用举例

哈希表存储结构&#xff1a; 1.开放寻址法 2.拉链法 哈希表的主要作用&#xff1a; 把一个较大(0-10^9 )的数据映射到较小(0-N(N一般为10^5 到 10^6))的数据 哈希函数&#xff1a;可以把一个从-10^19 到10^19 的中的一个数映射到0-10^5之间的一个数 1.哈希函数怎么写&#x…