YouyoMei的博客

私信 关注
一阵没来由的风
码龄3年

It doesn't even matter

  • 91,332
    被访问量
  • 91
    原创文章
  • 57,138
    作者排名
  • 90
    粉丝数量
  • 于 2018-01-02 加入CSDN
获得成就
  • 获得53次点赞
  • 内容获得35次评论
  • 获得225次收藏
荣誉勋章
兴趣领域
  • #人工智能
    #算法#数据分析#深度学习#图像处理#机器学习
TA的专栏
  • WPF 控件设计艺术
    7篇
  • WPF Errors
    4篇
  • WPF Control Using
    1篇
  • WPF Control Styles
    3篇
  • C# WPF Solution
    1篇
  • Tool
  • C# Winform
    6篇
  • C# WPF
    46篇
  • VS
    4篇
  • C# .Net
    17篇
  • C# Windows Service
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

WPF 控件设计艺术[按钮篇六]

三、按钮篇(六)Windows系统设置主页按钮-WindowsSettingsHomeButton按钮由图标、主题文本和描述文本组成,图标与文本颜色分开,默认背景为白色或者透明。来,咱们看看Windows Setting里面得样子吧,如下图所示:接下来我们分析下,按钮的效果:鼠标放上去,显示背景框鼠标按下,整体有收缩感觉(模糊化)由于按钮中的元素与我们之前使用的按钮样式一致,因此我们本次按钮样式设计也是基于DescIconButton自定义按钮实现的,首先还是将他的定义贴出来:
原创
71阅读
1评论
0点赞
发布博客于 1 月前

WPF 控件设计艺术[按钮篇五]

三、按钮篇(五)带描述图文按钮-WithDescIconTextButton按钮内容同时存在图标、主要文本以及对按钮功能的描述补充文本,并且图标、主要文本和描述文本都能根据不同功能变化。我们看下我们参考的按钮的样子吧,如下图所示:接下来我们分析下,按钮的效果:默认情况下,背景为透明鼠标放上去,有一个灰色背景色鼠标按上去,背景色加深,图标和文本加粗在实现时,我们同样使用自定义控件,继承之前的IconButton 并添加添加对应的Description依赖属性即可,DescIco
原创
53阅读
0评论
1点赞
发布博客于 1 月前

WPF 控件设计艺术[按钮篇四]

三、按钮篇(四)图文合并按钮-IconTextButton同样的,我们找到我们需要设计的按钮样式,如下图左上角的主页按钮哦来分析一下吧,我们通过使用WindowsSettings中的这个面板的按钮,可以分析出如下特点:按钮内容同时存在图标和文本,并且图标和文本都能根据不同功能变化。默认情况下,背景为透明鼠标放上去,有一个灰色背景色鼠标按上去,背景色加深,图标和文本加粗由于该按钮由一个图标和文本组成,因此我们就是用上个样式定义的IconButton类就可以了,使用IconDa
原创
60阅读
0评论
0点赞
发布博客于 1 月前

WPF 控件设计艺术[按钮篇三]

三、按钮篇(三)纯图标按钮-IconOnlyButton同样的,我们找到我们需要设计的按钮样式,如下图左上角的按钮哦来分析一下吧,我们通过使用WindowsSettings中的这个面板的按钮,可以分析出如下特点:按钮内容为图标,以及通过自定义控件实现默认情况下,背景色为白色(无背景)鼠标放上去,会有一个背景色鼠标按下,背景变为蓝白色由于该按钮添加了一个图标,该属性我们想通过依赖属性来定义,这样我们就可以再XAML或者其他地方进行设置了。所以我们首先在项目中添加如下的Icon
原创
73阅读
0评论
0点赞
发布博客于 1 月前

WPF 控件设计艺术[按钮篇二]

三、按钮篇(二)带背景按钮-BackdropButton按照前面的步骤,创建一个按钮的样式模板,如下图所示。找到我们要设计的带有背景效果按钮。在窗体中新建一个按钮,然后按照之前的方式创建模板添加颜色资源、设置模板、设置触发器,代码如下。 <SolidColorBrush x:Key="Button.Static.Background" Color="#FFC3C3C3"/> <SolidColorBrush x:Key="Bu
原创
77阅读
0评论
0点赞
发布博客于 1 月前

WPF 控件设计艺术[按钮篇一]

三、按钮篇(一)纯文本按钮-TextOnlyButton创建一个Button按钮,设置宽高右键设计窗口中的按钮,找到编辑模板的编辑副本,并点击它。如下图所示。此时会弹出一个对话框,提示我们选择创建资源名称和定义位置,如下图所示。我们可以不用管,但为了方便,我们设置一下名称TextOnlyButton,然后点击确定。此时,会在我们MainWindow中的Resources中创建一些资源信息,如下图所示。我们可以简单将上面的资源文件划分为三类,如下图所示,分别是:焦
原创
111阅读
0评论
1点赞
发布博客于 1 月前

WPF 控件设计艺术[开篇]

WPF 控件设计艺术——样式、模板、触发器、数据绑定WPF 控件设计艺术——样式、模板、触发器、数据绑定:围绕WPF控件设计,从样式、模板、触发器和数据绑定触发,引导初学者快速设计和使用WPF控件设计富有个性的WPF控件。一、引言内容本次开发主要围绕WPF中现有的控件,其一:对控件属性等信息含义讲解;其二:对控件的基本使用演示;其三:以及如何根据现有控件设计具有自己特色的控件。目的引导初学者(会C#并且稍微了解WPF)学习如何使用WPF控件,提高WPF应用软件开发效率。记录成长,可以在自己目前热
原创
100阅读
0评论
1点赞
发布博客于 1 月前

C# 字符串中去掉换行符、间隔符等特殊字符

C# 字符串中去掉换行符、间隔符等特殊字符1.String.Replace方法在C#中替换字符串中的字符我们可以使用String提供的Replace方法。 string s = "sdsd"; string ss = s + Environment.NewLine; var eeee = ss.Replace(Environment.NewLine, ""); var nes = ss.Repla
原创
143阅读
0评论
0点赞
发布博客于 4 月前

C# 获取本机网络信息

C# 获取本机网络信息IP MAC DNS 等信息获取 private void GetLocalInfo() { textBlock1.Text = ""; StringBuilder sb = new StringBuilder(); NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces(); //
原创
75阅读
0评论
0点赞
发布博客于 5 月前

C# 死循环等待方式

C# 死循环等待方式在工业软件、上位机等需要对硬件设备进行实时通信的开发过程中,我们经常会使用死循环来循环读取缓冲区的数据。如下所示 private void Receive() { while (true) { //返回接收缓冲区中尚未被读取的帧数 UInt32 num = VCI_GetReceiveNum(devType, devIndex, devChannel);
原创
462阅读
0评论
0点赞
发布博客于 6 月前

WPF 鼠标在控件上晃动,CPU占用高,界面不刷新问题

WPF 鼠标在控件上晃动,CPU占用高,界面不刷新问题首先,在MVVM模式下,我们刷新界面的方式工作通过属性绑定转移到更新绑定数据源。此时,我们通常会使用子线程去执行一些查询等耗时任务,执行完成之后,直接更新数据源。或者开一个定时器(System.Threading.Timer)去实时更新我们的绑定数据源。一般情况下,我们的界面更新是很正常的。但是,当我们更新的数据源很多,更新频率很快时。晃动我们鼠标(在控件面板上移动)时,有时会发现一个有趣却又很苦逼的现象——鼠标晃动导致界面更新卡住了。我最开始遇
原创
153阅读
0评论
0点赞
发布博客于 7 月前

WPF Popup Using

WPF Popup Using示例Popup控件由两部分组成:呈现弹起内容的Popup控件和触发该Popup的控件组成。下面我们以toggleButton和Popup组合起来做一个浮窗效果。<Window x:Class="Deamon.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com
原创
179阅读
0评论
0点赞
发布博客于 8 月前

WPF ComboBox Styles

WPF ComboBox Styles第一种样式<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <!--ComboBox--> <!--ComBoBox项选中背景色-->
原创
146阅读
0评论
0点赞
发布博客于 9 月前

WPF Slider Styles

WPF Slider Styles第一种样式- <Style x:Key="SliderRepeatButtonStyle" TargetType="{x:Type RepeatButton}"> <Setter Property="OverridesDefaultStyle" Value="true"/> <Setter Property="IsTabStop" Value="false"/> <Sett
原创
132阅读
0评论
0点赞
发布博客于 9 月前

WPF TabControl 数据绑定

WPF TabControl in Binding’s world首先,TabControl是间接继承自ItemControl的控件,因此可以像ItemControl那样自如的使用。自此,我们知道了ItemControl的派生控件有:ItemControl–>Selector–>ListBoxItemControl–>Selector–>ListBox–>ListViewItemControl–>Selector–>ComboBoxItemControl
原创
483阅读
0评论
0点赞
发布博客于 9 月前

WPF TabControl Styles

WPF TabControl Styles水平使用的TabControl效果:样式资源 <!-- 顶部TabControl控件样式 --> <SolidColorBrush x:Key="TabItem.Static.Background" Color="White"/> <SolidColorBrush x:Key="TabItem.Static.Border" Color="#ACACAC"/>
原创
100阅读
0评论
0点赞
发布博客于 9 月前

WPF 加载摄像机视频

WPF 加载摄像机视频WPF 显示摄像机可以借助AForge进行实现视频显示和数据录制。视频显示1.引入AForge库文件NUGet导入AForgeAForge.VedioAForge.Vedio.DirectShow2.设置UI添加一个Image控件,用于视频呈现。<Window x:Class="Rxbit.Views.Scane.CameraWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/
原创
259阅读
0评论
0点赞
发布博客于 9 月前

C# 文件操作笔记

C# 文件操作笔记找到当前路径下文件扩展名相同的文件 /// <summary> /// 找到当前路径下文件扩展名相同的文件 /// </summary> /// <param name="path">路径</param> /// <param name="ext">扩展名</param> /// <returns></return
原创
74阅读
0评论
0点赞
发布博客于 9 月前

C# 从补码中获取有符号数的实际数值

C# 从补码中获取有符号数的实际数值原理计算机存储数据时,默认是存储数据的补码。有符号的数粗存在符号位(最高位)。这里就会提到原码、反码、补码的概念。原码:用符号位和数值表示带符号数,正数的符号位用“0”表示,负数的符号位用“1”表示,数值部分用二进制形式表示。反码:正数的反码与原码相同,负数的反码为对该数的原码除符号位外各位取反。补码:正数的补码与原码相同,负数的补码为对该数的原码除...
原创
465阅读
0评论
0点赞
发布博客于 10 月前

WPF DataGrid的列标题样式设计

WPF DataGrid的列标题样式设计能够换行1.定义列样式 <DataTemplate x:Key="HeaderTemplateCenterAlign"> <Border> <TextBlock TextWrapping="Wrap" Text="{Binding Path=Content, Rel...
原创
272阅读
0评论
0点赞
发布博客于 10 月前

WPF ItemControl 相关的数据源排序显示

WPF ItemControl 相关的数据源排序显示直接操作绑定的数据源,例如将新增的元素显示到最前头,可以在添加数据源时,使用Insert函数,直接添加到集合中的首个位置。如下所示。using System.Collections.Generic;// 添加新数据时LaneTriggerInfoViewModel.Singleton.TrpTriggers[lane.Key - 1]...
原创
97阅读
0评论
0点赞
发布博客于 10 月前

WPF MenuItem In Binding's world

WPF MenuItem In Binding’s world自定义Menu样式<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/...
原创
102阅读
0评论
0点赞
发布博客于 10 月前

WPF 坐标投影

WPF 坐标投影有些时候,我们需要自己来制作一个画板,并在画板上绘制我们想要的内容(画图、状态图、统计图等)。此次给大家介绍一下自制画板。建立画板建立一个画板,并在画板中建立一个绘图区域TragetsCanvas,并用10X10px的小方格进行分割,添加刻度画板ScaleCanvas,刻度画板与绘图区域之间存在一些间隔,这些间隔用于填充坐标等分割信息。 <Canvas Width="...
原创
180阅读
0评论
0点赞
发布博客于 10 月前

Git 本地使用,结合VS

Git 本地使用,结合VS有些时候,我们需要通过Git来做本地代码管理,替代自己通过手动创建日志、保存版本文件。通过Git可以很好的记录修改和回退版本。1.安装Githttps://git-scm.com/downloads2.常用命令3.创建一个本地仓在当前文件目录下新建一个本地仓wemove,并初始化。命令分别如下$ mkdir wemove$ cd wemove$ pw...
原创
241阅读
0评论
0点赞
发布博客于 10 月前

WPF 切换控件界面库资源

WPF 切换控件界面库资源在实际项目开发中,我们经常是使用别人开发好的界面库。但是不同界面库涉及的控件和对控件的默认样式存在偏差。为了能在不同的项目中使用多种界面库。最开始没有想过,觉得不好实现。但是实际来使用的时候,发现非常简单。本次示例以MaterialDesignUI和ModernUI切换为例。NuGet界面库程序包分别添加MaterialDesignThemes和ModernUI....
原创
372阅读
0评论
0点赞
发布博客于 10 月前

WPF 自定义界面语言包

WPF 语言包1定义语言资源在Luanguage文件夹下添加StringResource.en-US.xaml与StringResource.zh-CN.xaml分别定义语言为英语和中文的语言资源文件。StringResource.en-US.xaml<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/...
原创
119阅读
0评论
1点赞
发布博客于 10 月前

C# 字节(数组)与位之间的计算

C# 字节(数组)\16\32\64…位数据与位之间的计算运算符介绍运算名称运算符号左移<<右移>>与&或|非^截取数据例如: UInt32 mini = 0x000ED0FF; UInt16 low16 = (UInt16)(mini & 0xFFFF); UInt16 hight16...
原创
667阅读
0评论
0点赞
发布博客于 10 月前

WPF 枚举类型与ComboBox绑定

WPF 枚举类型与ComboBox绑定通过枚举类型建立集合很多时候,我们需要直接获取枚举值的值,将其绑定到ComboBox之类的控件中。因为我们知道,ComboBox的ItemsSource是一个集合,因此我们需要将枚举值变成一个集合,然后绑定到ComboBox中,可以通过绑定SelectedItem/SelectedValue实现获取选中元素。枚举定义 public enum Azimu...
原创
1268阅读
0评论
0点赞
发布博客于 10 月前

WPF 语言包自定义与使用

WPF 语言包1定义语言资源在Luanguage文件夹下添加StringResource.en-US.xaml与StringResource.zh-CN.xaml分别定义语言为英语和中文的语言资源文件。StringResource.en-US.xaml<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/...
原创
233阅读
0评论
0点赞
发布博客于 10 月前

C# 日志文件存储

C# 日志文件存储思路:直接对txt文件内容进行存储即可。存储时,手动设置存储内容。核心程序 /// <summary> /// 日志系统 /// </summary> public class LogAct { /// <summary> /// 普通日志 /...
原创
314阅读
0评论
0点赞
发布博客于 1 年前

WPF 自定义窗口笔记

WindowChrome最大化是否保留任务栏在使用WindowChrome作为自定义窗口拖拽等操作支持功能时,我们可以很轻松的自定义我们窗体。通过双击WindowChrome的CaptionHeight范围内即可实现窗体的最大化。在最大化时,根据项目需求,有些应用需要覆盖任务栏,而另外一些需求是保留任务显示。那么怎么在WindowChrome支持下实现这两个不同的需求。答案是比较简单,就是...
原创
101阅读
0评论
0点赞
发布博客于 1 年前

C# 反射获取对象的属性名和属性值

Type t = Farsightedgo.Localization.LanguageManager.Instance.GetType();//获得该类的Type foreach (PropertyInfo pi in t.GetProperties()) { if (pi.Name == D...
原创
1174阅读
0评论
0点赞
发布博客于 1 年前

WPF 变换方式LayoutTransform和RenderTransform

WPF提供两种变换方式,分别是LayoutTransform和RenderTransform。从字面意思来讲LayoutTransform是布局变换,后者RenderTransform是渲染变换。共同点:他们都提供了TransformGroup(变换组)、TranslateTransform(平移)、RotateTransform(旋转)、ScaleTransform(缩放)、MatrixTr...
原创
230阅读
0评论
0点赞
发布博客于 1 年前

WPF 使用后台定义与使用(模板)资源

在WPF开发中,我们经常定义资源的方式是通过在App.XAML文件的Resource节点、单独页面(Page、Window、UserControl等)的Resource下、元素节点下的Resource里以及单独添加资源字典(Dictionary.xaml)文件进行定义。其效果如下图所示。这些定义,后台可以通过元素的FindResource方法检索Key找到定义的资源。但是有...
原创
546阅读
0评论
0点赞
发布博客于 1 年前

C# 获取路径下某种扩展名的文件

/// <summary> /// 找到当前路径下文件扩展名相同的文件 /// </summary> /// <param name="path">路径</param> /// <param name="ext">扩展名</param> ///...
原创
197阅读
0评论
1点赞
发布博客于 1 年前

C# 获取字符串的的字符长度

方法1:直接将字符串转换StringBuilder结构,然后获取Capacity来获取字符串中真实(一个汉字等于2或者4)的字符(字节)长度。使用Length获取字符(1个汉字也只有一个字符)长度。...
原创
667阅读
0评论
0点赞
发布博客于 1 年前

WPF 几何图形之图形微语言命令

WPF 几何图形之图形微语言命令在WPF中,可以通过几何图形(Geometry)来绘制矢量图形。简单的几何图形包括:LineGeometry、RectangleGeometry、EllipseGeometry等。复杂的集合图形包括:PathGeometry、 GeometryGroup 、CombineGeometry、StreamGeometry等。注意:StreamGeometry的内...
原创
223阅读
0评论
0点赞
发布博客于 1 年前

WPF 设置图片的分辨率DPI

WPF 修改图片的分辨率/DPI在WPF中,当使用到PNG之类的图片作为背景时。我发现一个问题:图片属性(Windows)的宽、高相同的两张图片在WPF界面上显示却大小不一。如下图所示。在后台应用程序调试时发现,两个图片的DPI不一致。2.png3.png百度了下,网友提供了三种解决方法:创建 BitmapImage 对象,根据当前屏幕的 DPI 值计算 DecodePixe...
原创
732阅读
1评论
1点赞
发布博客于 1 年前

WPF Behavior 行为

WPF Behavior 行为前言行为是一类事物的共同特征,在WPF中通过行为可以封装一些通用的界面功能,从而实现代码重用来提高开发效率。因此他是一个非常好用的工具。引入dll文件找到System.Windows.Interactivity.dll文件。https://download.csdn.net/download/YouyoMei/12200463然后将其引入到项目中。创建...
原创
936阅读
0评论
0点赞
发布博客于 1 年前

System.Windows.Interactivity.rar

WPF 中UI交互设计时,必不可少的工具,微软自己编写的虽然没有直接加入到.NET Framework中。
rar
发布资源于 1 年前

WPF MediaElement 闪退

WPF MediaElement 闪退问题解决现象使用MediaElement元素在WPF中作为AVI格式视频播放,在本机上调试没有任何问题。在其他Windows10的电脑上运行也是正常的,但是有一些电脑上运行时,出现闪退,根本无法播放视频。测试开始以为是自己在编码时,出现了不同环境的异常未处理。通过使用Try Catch也无法捕捉到异常。后来网上找了好多好多…也没有找到同类问题,有人说...
原创
203阅读
0评论
0点赞
发布博客于 1 年前

VS 统计整个项目(解决方案)代码行数

正则表达式内容b*[^:b#/]+.*$^b*[^:b#/]+.*$方法1.弹出查找搜索对话框快捷键:Ctrl+Shift+F鼠标:编辑-->查找和替换-->在文件中查找2.输入查找内容使用正则表达式:b*[^:b#/]+.*$3.选择查找范围4.打开查找选项,勾选“使用正则表达式”5.输入或者选择需要查询的文件类型...
原创
584阅读
0评论
0点赞
发布博客于 1 年前

WPF 如何自定义图标—扩展篇

引言在之前我们讲解了如何在WPF中自定义控件,需要了解可以走下面的链接。应用篇续篇前言我们作为开发人员,毕竟自己的画画和图标设计功底不是很好。因此如何获取立意明显、表达准确的图标?似乎是亟需解决的问题。虽然在前言中,我简单提了一下如何获取图标的方式。但是不够详细,本文专门针对这个问题出具自己较为详细的解决方法。应用首先简单介绍下自己得到较为完整的图标数据需要用到的...
原创
228阅读
0评论
0点赞
发布博客于 1 年前

WPF 设计器异常 System.Resources.MissingSatelliteAssemblyException The satellite assembly named "Microsoft

WPF出现异常,其消息如下所示System.Resources.MissingSatelliteAssemblyExceptionThe satellite assembly named "Microsoft.VisualStudio.DesignTools.Designer.resources.dll, Version=16.0.0.0, PublicKeyToken=b03f5f7f11...
原创
430阅读
0评论
0点赞
发布博客于 1 年前

WPF入门指引

环境搭建VS2019下载地址https://visualstudio.microsoft.com/zh-hans/学生或者学习党选用community版本,使用OutLook账户登录免费使用。安装模块选择最基础的(电脑空间非常有限)一般用户(涉及后期相关开发)安装路径如果电脑配置好的用户,这块可以不用管,直接点击安装即可。如果电脑存储空间有要求可以根据电脑内存分配来进行调...
原创
297阅读
0评论
1点赞
发布博客于 1 年前

WPF 带值增减按钮的文本输入框

WPF 带值增减按钮的文本输入框引言在做一些上位机时,对参数的配置需要用到一类控件,就是对配置值得增减。本文主要介绍下自己在WPF开发中使用过的控件——xceed.ToolKit的–UpDown控件(在xceed中有很多比较实用的控件)。应用1.导入程序包,程序包名如下:SamOatesGames.ModernUI.Xceed.Toolkit2.在xaml中引入命名空间 xmlns...
原创
872阅读
2评论
0点赞
发布博客于 1 年前

WPF 自定义样式

WPF 自定义样式引言对于WPF开发者而言,默认的控件样式是不是觉得非常的”Low“或者说不好看。其实我也是一样,看多了就觉得样式一般般,不好看。因此如何解决这个问题呢?当然是自己来定义控件的样式。本节使用Visual Studio自带的功能——“编辑模板”来实现只需修改颜色(边框、背景、前景等)的控件美化功能。应用鱼废话不多说,首先贴上自己定义并使用过的几个控件的样式,如下:But...
原创
724阅读
0评论
0点赞
发布博客于 1 年前

WPF ListView与ListBox(选中)项样式

WPF ListView与ListBox(选中)项自定义样式想用ListBox或者ListView控件,做一个菜单栏等,却发现很难改变ListBoxItem/ListViewItem项在鼠标移过、选中的默认蓝色背景与边框。首先尝试使用控件的Style来设置ItemTemplate上的Triggers,结果时不成功。经过查资料发现很少,最后在自定义List项时,发现对ListBoxItem/L...
原创
1084阅读
0评论
0点赞
发布博客于 1 年前

WPF 如何自定义图标——应用篇——自定义控件

WPF 如何自定义图标——应用篇——自定义控件引言结合前面我们已经能够较为灵活的在CS和XAML中使用我们自定义的图标。接下来,我们结合一些框架元素(FrameElement)的特点实现我们自己自定义控件的定义与使用。自定义控件的特点:灵活,重构能力强。图标类控件给人非常醒目的感觉,我们通过自定义Control、Button和CheckBox控件来实现自定义控件的定义与使用。编码环境:Wi...
原创
350阅读
0评论
0点赞
发布博客于 1 年前

WPF 如何自定义图标-续篇

WPF 如何自定义图标-续篇引言前面我们讲过,使用StreamGeometry在XAML文件中进行包括,将图标的数据以字符串的形式传递给StreamGeometry,然后再将StreamGeometry作为静态资源在我们的项目中使用。虽然上面可以满足我们的一般要求,但是当我们后台使用相同的资源时,比较麻烦:通过资源名找到对应的资源。当资源较多时,理论上会增加检索负担。因此我想通过某种方式,同时...
原创
211阅读
0评论
0点赞
发布博客于 1 年前

WPF DataGrid与数据绑定

WPF DataGrid与数据绑定MVVM基础using System.ComponentModel;using System.Runtime.CompilerServices;namespace Melphi.Mvvm.Base{ /// <summary> /// ViewModel模型基类(属性更改通知) /// A base class fo...
原创
434阅读
0评论
0点赞
发布博客于 1 年前

WPF DataTemplate与ControlTemplate知识积攒

WPF DataTemplate与ControlTemplateAnswer OneTypically a control is rendered for its own sake, and doesn’t reflect underlying data. For example, a Button wouldn’t be bound to a business object - it’s t...
原创
201阅读
0评论
0点赞
发布博客于 1 年前

WPF ContentControl与ContentPresenter 知识积攒

WPF ContentControl与ContentPresenterAnswer oneContentControl is a base class for controls that contain other elements and have a Content-property (for example, Button).ContentPresenter is used insid...
原创
502阅读
0评论
0点赞
发布博客于 1 年前

WPF 命令绑定的各种方式

WPF 命令绑定的各种方式引言在WPF开发过程中,不得不学习的就是MVVM模式。但是在MVVM中又绕不开命令(Command)的使用。下面通过几种方式介绍我了解的WPF命令绑定方式。如何使用控件继承ICommand接口,直接使用Command首先通过这里简单介绍Command在MVVM中的使用。ViewModel类// using System.ComponentModel;// ...
原创
1743阅读
0评论
3点赞
发布博客于 1 年前

WPF Binding 笔记

WPF Binding Note引言记录绑定相关的知识点绑定最初的样子WPF中的数据绑定主要是将自定义的ViewModel的可通知属性和命令绑定到控件的依赖与附加属性。对于绑定的数据源,在没有对绑定属性/命令做特殊的声明时会自动根据元素树找到当前最近的DataContext,直到找到文件(Window、Page等节点)结束。XAML中不指定数据源 <Image Stretch...
原创
95阅读
0评论
0点赞
发布博客于 1 年前

WPF DataGrid 的应用

WPF DataGrid 的应用简单使用使用DataGrid就离不开数据绑定,首先我们以最简单的方式实现数据源和DataGrid控件的绑定。建立数据模型public class Employee { /// <summary> /// Set 设置成私有方法时,在数据绑定时,绑定的Mode不能设置成TwoWay,只能实现从数据源更新到Vi...
原创
134阅读
0评论
0点赞
发布博客于 1 年前

WPF 如何自定义图标-前言

WPF如何自定义图标引言在人机交互的开发中,图标是非常重要的一个交互元素。WPF的开发中图标的使用有很多中方式:加载字体图标资源,这方面的资源有:Iconfont(阿里图标)Awesome…使用前端框架提供的资源,例如MaterialDesign的PackIcon控件里面。使用Path自定义设计图标。应用使用Path自制控件时,一些比较简单的图形可以直接通过...
原创
226阅读
0评论
0点赞
发布博客于 1 年前

Visual Studio 所有版本下载

https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
原创
142阅读
0评论
0点赞
发布博客于 1 年前

C# 利用System.Xml.Linq对XML文件进行处理

Namespaceusing System;using System.Linq;using System.Xml.Linq;Building Modelusing System;using System.Xml.Linq;namespace Melphi.XmlServices{ /// <summary> /// 用户 /// </...
原创
659阅读
0评论
0点赞
发布博客于 1 年前

WPF 窗口卡死或者假死解决方案(MVVM模式)

问题描述项目情况如下:程序业务:点击开始之后,从文件中获取数据,将数据显示到界面(按照某种可视化的形式)上,直到文件数据读完或者界面操作停止才会停止数据刷新。程序能正常运行,但是,当程序开始之后,拖拽、缩放窗体(WPF默认的窗体样式),界面假死,鼠标失去响应,也不能回到任务栏…可以通过按"Win"键恢复,但是恢复之后,界面有可能已经失去正常工作能力了——数据刷新不正确,时序不对等等问题。原因...
原创
2190阅读
0评论
0点赞
发布博客于 2 年前

WPF Triggers 中 EnterActions 与 ExitActions 的应用

我们在自定义模板的时候,经常会使用到Triggers,一般情况下,我们通过Trigger可以完成当状态发生变化是,可以修改某个属性值。如下面这样:<Trigger Property="IsMouseOver" Value="True"> <Setter Property="Rectangle.Opacity" Value="1" TargetName="rootCu...
原创
281阅读
0评论
0点赞
发布博客于 2 年前

WPF 3D模型上的2D元素 Viewport3D

需求需要将UI元素布置到3D模型上,还能实现对UI元素的操作。环境实现UI元素模板控件模型UserControlTemplate.xaml<UserControl x:Class="Melphi.UserControlTemplate" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/present...
原创
230阅读
0评论
0点赞
发布博客于 2 年前

C# Timer使用(WPF、Winform)

概述C#中的框架中,为我们提供了几种定时器,其实是3类。下面就通过自己的学习和应用简单介绍下:首先,定时器的原理:等待一段时间之后,开始执行任务;到了等待时间后,开始执行任务……一直循环。System.Threading.Timer简介这个定时器是一个单独的线程,执行任务(定时器回调任务)的线程分配由线程池管理。如果要使用定时器,他是最好的选择。优点:独立线程,等待周期变化稳定,不会受其...
原创
308阅读
0评论
0点赞
发布博客于 2 年前

C# 使用C/C++动态链接库(dll) ——指针 IntPtr

需求C/C++程序中,最经典的就数指针了,如果对指针没有一定认识,那么C/C++语言的学习深度还不够。因此在一般的C/C++程序开发中使用指针作为参数传递也尤为普遍,我们前面的示例中,使用到的char* 与ByteArray* 都是指针。本节使用C#的IntPtr对接口参数进行定义。环境Windows 10Visual Studio 2017平台工具集:Visual Studio 201...
原创
596阅读
0评论
0点赞
发布博客于 2 年前

C# 使用C/C++动态链接库(dll) ——参数传递&类型移植

需求在我们的方法调用也经常会遇到参数传递的情况,在传递过程中,如何让C/C++与C#在类型上统一呢?C/C++与C#中都有对应的传入参数和传出参数,简称入参与出参。本次通过出参来记录参数是如何传递的、数据如何接收的、数据类型如何统一对应等。动态库有个方法可以获取文件名GetFileName的方法,C#调用以获取文件名。环境Windows 10Visual Studio 2017平台工...
原创
300阅读
0评论
0点赞
发布博客于 2 年前

WPF 第三方控件学习使用——可停靠布局控件(AvalonDock)

需求近期在做公司上位机产品规划与实验,参考了Blender软件的布局风格,希望能用WPF也做一个类似布局的上位机。于是开始寻找资源,很快就发现了AvalonDock。AvalonDock简介AvalonDock是Xceed公司 Wpf.Toolkit 中的一款收费产品,其中还包括很多其他控件的收集整理,感兴趣的自行研究。但是万能的Nuget里面有许多免费的版本,并且GitHub...
原创
1110阅读
1评论
2点赞
发布博客于 2 年前

C# 使用C/C++动态链接库(dll) ——简单应用

需求在日常开发中,偶然间就会使用C/C++编写的动态链接库。那么如何在C#中调用和使用C/C++动态链接库的函数呢?Melphi使用C/C++编写了一个AddCount()方法,用于计算两个传入参数的和,并返回给调用者。环境Windows 10Visual Studio 2017平台工具集:Visual Studio 2017 (v141)实现C/C++...
原创
336阅读
0评论
1点赞
发布博客于 2 年前

WPF 数据集合绑定到DataGrid、ListView或者其他列表控件

需求描述需要使用一个类似表格的控件,数据格式如下:数据名称 数据标记 数据值选择 DataA true Kea(可选的值:Kea,Lau,Nuh) DataB true Lau(可选的值:Kea,Lau,Nuh) DataC true invalid(可选的值:invalid,valid) DataD false ...
原创
656阅读
0评论
1点赞
发布博客于 2 年前

WPF 图表控件LiveCharts的应用——室内监控可视化

需求为了实现一个完整软件系统,必须具备一些基本的数据呈现控件,例如曲线图、柱状图、饼图等。本次的业务需求为:利用LiveCharts展示后台模拟的温度变化。像Winform里面,微软为我们提供了比较完整的Chart控件,但是在WPF组件中,就没有找到类似的控件,它的意图是让我们自己去实现。我们应该对当下的代码共享时代环抱感激,迄今位置有很多面向WPF的第三方控件库,大部分都是免费开源的。例如:...
原创
2378阅读
2评论
1点赞
发布博客于 2 年前

WPF 应用程序只允许运行一个(应用程序的单例模式)

需求应用程序运行之后,再次点击EXE可执行文件时,应用程序不会重复打开,并将已打开的应用程序状态还原并激活展示。实现在应用程序的执行之前,检查进程中是否存在已经在运行的应用程序。如果存在,则激活存在的应用程序,当前应用程序退出。检查进程方法定义,以下方法不仅仅在WPF框架下,在其他C#框架下依然可行: /// <summary> ...
原创
642阅读
0评论
0点赞
发布博客于 2 年前

WPF 自定义页面动画(出)的应用——室内监控可视化

需求接上篇。前面我们实现了页面切换时,以动画的形式加载,虽然我们在设计之初我们添加了页面卸载动画功能块,但实际上卸载的动画从没有出现过。本文主要针对自定义动画为主题,继续完成页面卸载时的动画效果。首先上效果:原理定义两个容器(F1和F2),F1用于存放新的页面,F2用户保存旧的页面。利用页面加载时执行动画,实现动画效果。当页面切换时,根据两个容器的特性,加载对应的动画,实...
原创
235阅读
0评论
0点赞
发布博客于 2 年前

WPF 自定义页面动画(入)的应用——室内监控可视化

需求在提升应用程序的用户体验上,动画(Animation)是一个不得不说的。WPF中有非常丰富的动画实现资源,主要通过故事板(Storyboard)上进行“表演”。本文通过模仿PPT中的部分动画(滑入滑出和淡入淡出结合)实现登录页、主页、房间页、记录页、设置页之间的切换。首先上效果:环境Windows 10Visual Studio 2019.Net Framew...
原创
341阅读
0评论
0点赞
发布博客于 2 年前

WPF IoC容器Ninject的应用——室内监控可视化

需求在传统的编程中,当我们需要做一个导航功能时:我们需要在主窗体(MainWindow)中定义一个导航容器Frame(假如命名为MainFrame),然后定义所有的导航页面,并让这些导航页和主窗体中的MainFrame有一定的联系,最后在导航时,修改MainFrame的内容(Content)、资源(Source)...等方式实现页面切换和导航。这样的方式虽然符合一般编程逻辑,但是这种“强”关系...
原创
809阅读
3评论
0点赞
发布博客于 2 年前

WPF MVVM模式的应用——室内监控可视化

需求在物联网应用中,可视化端经常需要将实物信息详细的呈现到用户视野之中。在室内环境中,经常可见的设备空调和灯。本次课题主要以室内环境的温湿度和房间用能情况出发,实现室内温湿度和能耗信息的可视化。为了让可视化更加直观,我们需要完成的任务有:1.用户操作“开始”、“停止”之后,模拟“采集器”实时采集。2.将实时“采集”的信息第一时间呈现到界面上。首先上效果:环境Win...
原创
445阅读
0评论
0点赞
发布博客于 2 年前

WPF 元素绑定结合值转换器的应用——室内监控可视化

需求在物联网应用中,可视化端经常需要将实物信息详细的呈现到用户视野之中。在室内环境中,经常可见的设备空调和灯。本次课题主要以室内空调和灯监控出发,实现室内监控信息可视化。为了让可视化更加直观,我们需要完成的任务有:1.用户操作开关之后,界面要同步运行状态。2.美化界面,让信息状态变化直观的投射给用户。首先上效果:环境Windows 10Visual Studi...
原创
203阅读
0评论
0点赞
发布博客于 2 年前

WPF 使用MaterialDesign做一个漂亮的登录页面

导言了解了Material Design之后,好用和效果真的很棒,就做了一个登录页面作为练习。废话不多说,直接开整...Have a look其动画更加丰富的...环境搭建直接参考https://mp.csdn.net/postedit/99816982里面的“使用部分”XAML源代码<Window.Resources> ...
原创
7803阅读
0评论
4点赞
发布博客于 2 年前

WPF 实现自定义窗体时,窗体的拖拽和双击放大还原(最简版)

给窗体鼠标按下事件绑定处理方法 this.MouseDown += MainWindow_MouseDown;在鼠标按下事件处理方法中实现拖拽和放大缩小 private void MainWindow_MouseDown(object sender, MouseButtonEventArgs e) { ...
原创
746阅读
0评论
0点赞
发布博客于 2 年前

WPF MaterialDesign 开源免费UI组件的介绍和简单使用

导读最开始接触WPF是2017年11月份,相比当时自己也不大熟悉Winform,觉得WPF做的效果很好。但由于一些原因,公司也没有采用WPF进行项目开发。后来一直都是自己看看MSDN、《WPF编程宝典》、bilibili以及万能的百度等,自己也学到了很多。后来在2018年1月份,自己主张使用WPF开发了一个物联网设备监控系统,虽然遇到很多问题,但是最后的效果我觉得能甩Winform很远...自...
原创
12951阅读
6评论
8点赞
发布博客于 2 年前

WPF MaterialDesign开源免费UI组件的简单使用

Material Design是一个很好用的WPF样式库和控件集,对于稍微有点WPF基础的开发者非常友好。简单好用是我的第一感:直接使用NuGet就可以获取到资源包,通过其官方的DemoApp(MaterialDesignDemo)很容易使用控件和样式,上手贼快。对于喜欢钻研的同学来说,他具备完善的资料:GitHub源码和实例,可以通过学习研究创作出更多的好看、好用的样式和控件。
rar
发布资源于 2 年前

网络通信TCP面向串行通信的封装

C# Sokect通信(TCP)【半双工通信实现】面向串行通信封装
rar
发布资源于 2 年前

C# Sokect通信(TCP)封装

由来描述从工业控制到物联网,我们的通信接口也由原来的串口逐步向网口发展。网络通信的方式基本上都是全双工(双方都可以在同一时刻进行发送和接收),但是在某些时候(设备控制),我们也习惯了使用半双工(不能同时发送和接收)的通信方式。本文就从如何使用Socket实现半双工的通信展开(虽然实际开发过程中使用的不多)。思路在串行的通信模式中,通信的流程一般为:上位机发送命令;上位机等待接收响...
原创
741阅读
0评论
1点赞
发布博客于 2 年前

Mef190718.Deamon.DeamonLogService.rar

这是一个简单的实例Demo,通过使用Topshelf实现了Windows Service服务的开发。
rar
发布资源于 2 年前

C# Windows Service服务开发的简单实现(Topshelf)

概念:(Copyed From 百科)Windows服务是指Windows NT操作系统中的一种运行在后台的计算机程序。它在概念上类似于Unix守护进程。Windows服务必须匹配服务控制管理器(负责管理Windows服务的组件)的接口规则和协议。Windows服务可以配置为在操作系统启动时运行,并且在Windows运行期间持续在后台运行。服务也可以手动或基于某个事件而启动。Wind...
原创
236阅读
0评论
0点赞
发布博客于 2 年前

.Net(C#)转移字符解析(Unicode编码"\\ue72a"转换成"\ue72a"),使用Regex.Unescape(str)方法

一些字体的格式编码为Unicode,如:"\ue72a"。在C#的语法中,经常会将斜杠"\"自动转换成"\\"(这是转移字符)。但是当.net解析时,需要使用的是未进行转换的...不再啰嗦了。直接上解决方案:使用System.Text.RegularExpressions.Regex.Unescape(string)进行转换。 string unicodes = "e72a...
原创
1969阅读
0评论
0点赞
发布博客于 2 年前

VS Nuget程序包 无法加载源的服务索引

问题Visual Studio - Nuget - 无法加载源的服务索引解决方案这是一个常见错误,我们无法从此错误消息中获取更多有用的信息。导致问题可能有两种:第一种计算机网络问题:检查方法:打开浏览器,输入https://nuget.cdn.azure.cn/v3/index.json看能够正常加载。第二种VSIDE加载源地址问题:解决方法:1.打开...
原创
2209阅读
3评论
3点赞
发布博客于 2 年前

WPF 字体图标(FontAwesome、IconFont)简单使用源码

WPF中使用字体图标(IconFont、FontAwesome)的源代码,以及拓展代码。
rar
发布资源于 2 年前

WPF 字体图标 IconFont 的简单使用

开篇字体图标除了前面将的FontAwesome以外,还有阿里图标IconFont也是UI设计中经常使用的图标库。阿里图标的自定义功能比较好用,可以自定义下载的图标文件大小,自定义图标等。本篇主要谈谈IconFont字体图标在WPF中的简单使用。实现第一步:下载地址:https://www.iconfont.cn/方法:1.注册一个账号(为了方便管理自己的图标)       ...
原创
3557阅读
3评论
2点赞
发布博客于 2 年前

委托异步简单实现源代码

实例源代码,C#委托实现异步计算和窗体之间传递数据信息。
rar
发布资源于 2 年前

WPF 字体图标 FontAwesome 的简单使用

开篇一个好的应用程序,离不开好看的界面,在应用程序界面设计过程中,图标往往不会离开设计人员的视线。图标的存在形式有很多中:png\jpg\ico\bmp。。。等很多种,但是这些图标都存在一个弊端,他们不是矢量图,不能在不失真的情况下进行缩放等矢量图具备的特点。而字体图标恰好的解决了这个弊端,将图标封装在字体里面,以字体的形式展示,这样图标就可以自由的缩放、更改颜色等。实现第一步:下载...
原创
1603阅读
0评论
2点赞
发布博客于 2 年前

C#异步学习:委托的升华

问题描述:在编程的过程中,经常需要做一些耗时的计算。此时,用户的体验性极差,甚至出现窗体假死现象,因此异步编程就恰如其好的能解决了这类问题。UI设计:为了更好的形成对比,UI界面上使用两个Button“同步计算”、“异步计算”来实现同步计算和异步计算。并分别使用两个Label存放两个计算结果。具体实现:【1】声明委托 /// <summary> ...
原创
123阅读
0评论
1点赞
发布博客于 2 年前

C#异步学习:委托的升华

问题描述:在编程的过程中,经常需要做一些耗时的计算。此时,用户的体验性极差,甚至出现窗体假死现象,因此异步编程就恰如其好的能解决了这类问题。UI设计:为了更好的形成对比,UI界面上使用两个Button“同步计算”、“异步计算”来实现同步计算和异步计算。并分别使用两个Label存放两个计算结果。具体实现:【1】声明委托 /// <summary> ...
原创
123阅读
0评论
1点赞
发布博客于 2 年前

MySql数据库(5.5)

MySql数据库(5.5版本),以及数据库可视化工具MySQL-Front。
rar
发布资源于 2 年前

C#委托学习:委托实现窗体之间简单传值

实现功能描述:从窗体点击按钮,并记录点击次数,将点击的次数传递给主窗体展示。UI设计:主窗体:拖放两个Label:label1和lblCounter,label1的Text属性设置为“从窗体被点击次数:”,lblCounter的Text属性设置为“0”。从窗体:拖放一个Button:btnAddOne,Dock属性设置为“Fill”。 功能实现:【1】声明委托...
原创
689阅读
0评论
1点赞
发布博客于 3 年前

WPF 自定义窗体实现拖动边框改变窗体大小(2种方法)

方式一:调用user32.dllAPI这种方式在网上有很多,这里只是按步骤重新建立一次。读者只需要跟着做就行。第一步:创建一个WPF项目:WpfResizeWithoutBorder,右键项目文件----&gt;添加-----&gt;资源字典,并命名为:WindowsResizeBorderTemplete.xaml。第二步:在刚刚建立的资源文件(WindowsResizeBord...
原创
2773阅读
0评论
1点赞
发布博客于 3 年前

WPF TabIndex默认样式修改:去掉默认虚线框、自定义样式(Button控件为例)

去掉Tab选中默认虚线框Tab键切换时,被选控件自动存在虚线框,有时候为了界面美观,这个虚线框就显得比较麻烦。废话不多说,下面是方法。&lt;Window.Resources&gt; &lt;Style x:Key="MeyFocusVisual" TargetType="{x:Type Button}" &gt; &lt;!--去掉默认的Tab选择虚框--&g...
原创
1744阅读
0评论
0点赞
发布博客于 3 年前

C# Winform 界面闪屏问题

问题描述        Winform客户端开发过程中,会遇到界面使用大量控件,在使用图片作为背景和将背景设为透明不透明时,程序打开时,会出现界面白屏和眼花缭乱的黑白方块刷新。问题存在原因        个人理解:界面有很多控件,由于使用的Winfrom自带控件,在界面加在时,最先加载控件默认背景,加载完成之后再进行我们设置样式(背景图或者其他颜色)绘制,由于期间控件太多,处理时耗时严重,从而导致...
原创
1160阅读
1评论
0点赞
发布博客于 3 年前

C# Winform 使用GDI+ 绘制实时曲线图、面积曲线图

问题来源 最近为了公司界面的美化,想将原来的单纯曲线图绘制变成曲线面积图。功能需求 1.通过一系列的点,绘制出曲线面积图或者曲线图。 2.能够实现实时界面刷新。 3.曲线图里面的很多属性都能自定义。需求分析 功能实现分析 1.GDI+绘图可以实现点与点之间的连接,而且能够实现路径(Graphi...
原创
14825阅读
12评论
14点赞
发布博客于 3 年前

C# 实现集合A的任意一个元素都是集合B的元素——子集

1.业务需求存在一个集合A:{“asd”,“dss”,"254"}和集合B:{“asd”,“dss”,"254","25411"}。判断集合A是否是集合B的子集。2.业务分析遍历A集合中的每一个元素,看是否B集合中是否存在该元素。3.算法设计问题:集合A是否为集合B的子集?解决方案:定义两个变量,分别记录集合A的数量、集合A在集合B中的数量。如果两个数量相等,则退出集合A是集合B的子集,反之,集合...
原创
590阅读
0评论
0点赞
发布博客于 3 年前

C# Winform 利用委托异步实现Button长按,TextBox内值累加累减,弹起停止

功能需求::        按下“+”按钮实现设定值加0.1,长摁“+”按钮实现设定值一直以0.1的基数累加,按钮弹起,停止累加。同样,摁下“-”按钮实现设定值减0.1,长摁“-”按钮实现设定值一直以0.1的基数累减,按钮弹起,停止累减。需求分析:        功能拆分。                功能一:按下按钮实现设定值加0.1或者减0.1;                功能二:长摁按...
原创
1755阅读
0评论
1点赞
发布博客于 3 年前