自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 资源 (7)
  • 收藏
  • 关注

原创 WPF 窗口白屏问题分析与初步解决

WPF窗口白屏问题解决,使用WeDraft.Toolkit.FirstDraft可以临时解决问题。

2023-10-11 21:44:12 785 3

原创 WPF TextBox 添加范围验证

添加范围验证,若出现范围错误添加信息捕捉使用到技术:使用**ValidationRules**实现范围验证,当范围出现错误时,可以通过触发器**Validation.HasError=True**设置自定义错误样式。使用Behavior技术捕捉所有验证出错的消息,用于检查界面是否出错,实现行为捕获。

2023-07-04 23:51:15 441

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

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

2021-01-13 22:48:33 1348 2

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

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

2021-01-10 18:25:14 783

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

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

2021-01-09 11:51:52 857

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

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

2021-01-09 11:37:46 1321

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

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

2021-01-09 11:30:56 1077

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

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

2021-01-09 11:13:58 2362

原创 WPF 控件设计艺术[开篇]

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

2021-01-09 11:02:03 1634

原创 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

2020-10-24 17:39:00 6272

原创 C# 获取本机网络信息

C# 获取本机网络信息IP MAC DNS 等信息获取 private void GetLocalInfo() { textBlock1.Text = ""; StringBuilder sb = new StringBuilder(); NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces(); //

2020-09-29 18:21:26 916

原创 C# 死循环等待方式

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

2020-08-18 21:36:43 5818

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

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

2020-07-22 17:46:55 1177

原创 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

2020-06-02 19:49:18 552

原创 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项选中背景色-->

2020-05-31 19:32:51 731

原创 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

2020-05-31 18:52:28 591

原创 WPF TabControl 数据绑定

WPF TabControl in Binding’s world首先,TabControl是间接继承自ItemControl的控件,因此可以像ItemControl那样自如的使用。自此,我们知道了ItemControl的派生控件有:ItemControl–>Selector–>ListBoxItemControl–>Selector–>ListBox–>ListViewItemControl–>Selector–>ComboBoxItemControl

2020-05-22 20:03:17 5406

原创 WPF TabControl Styles

WPF TabControl Styles水平使用的TabControl效果:样式资源 <!-- 顶部TabControl控件样式 --> <SolidColorBrush x:Key="TabItem.Static.Background" Color="White"/> <SolidColorBrush x:Key="TabItem.Static.Border" Color="#ACACAC"/>

2020-05-22 19:58:42 1505

原创 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/

2020-05-15 19:39:46 1274

原创 C# 文件操作笔记

C# 文件操作笔记找到当前路径下文件扩展名相同的文件 /// <summary> /// 找到当前路径下文件扩展名相同的文件 /// </summary> /// <param name="path">路径</param> /// <param name="ext">扩展名</param> /// <returns></return

2020-05-15 19:38:28 219

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

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

2020-05-01 18:27:11 1660

原创 WPF DataGrid的列标题样式设计

WPF DataGrid的列标题样式设计能够换行1.定义列样式 <DataTemplate x:Key="HeaderTemplateCenterAlign"> <Border> <TextBlock TextWrapping="Wrap" Text="{Binding Path=Content, Rel...

2020-04-28 19:11:55 1271

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

WPF ItemControl 相关的数据源排序显示直接操作绑定的数据源,例如将新增的元素显示到最前头,可以在添加数据源时,使用Insert函数,直接添加到集合中的首个位置。如下所示。using System.Collections.Generic;// 添加新数据时LaneTriggerInfoViewModel.Singleton.TrpTriggers[lane.Key - 1]...

2020-04-28 19:06:36 476

原创 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/...

2020-04-24 20:05:51 488

原创 WPF 坐标投影

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

2020-04-22 20:42:03 668

原创 Git 本地使用,结合VS

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

2020-04-18 18:30:58 1680

原创 WPF 切换控件界面库资源

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

2020-04-17 19:40:36 1067

原创 WPF 自定义界面语言包

WPF 语言包1定义语言资源在Luanguage文件夹下添加StringResource.en-US.xaml与StringResource.zh-CN.xaml分别定义语言为英语和中文的语言资源文件。StringResource.en-US.xaml<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/...

2020-04-12 21:03:58 565

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

C# 字节(数组)\16\32\64…位数据与位之间的计算运算符介绍运算名称运算符号左移<<右移>>与&或|非^截取数据例如: UInt32 mini = 0x000ED0FF; UInt16 low16 = (UInt16)(mini & 0xFFFF); UInt16 hight16...

2020-04-12 21:02:16 3727

原创 WPF 枚举类型与ComboBox绑定

WPF 枚举类型与ComboBox绑定通过枚举类型建立集合很多时候,我们需要直接获取枚举值的值,将其绑定到ComboBox之类的控件中。因为我们知道,ComboBox的ItemsSource是一个集合,因此我们需要将枚举值变成一个集合,然后绑定到ComboBox中,可以通过绑定SelectedItem/SelectedValue实现获取选中元素。枚举定义 public enum Azimu...

2020-04-03 20:06:27 5473

原创 WPF 语言包自定义与使用

WPF 语言包1定义语言资源在Luanguage文件夹下添加StringResource.en-US.xaml与StringResource.zh-CN.xaml分别定义语言为英语和中文的语言资源文件。StringResource.en-US.xaml<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/...

2020-04-03 20:03:15 763

原创 C# 日志文件存储

C# 日志文件存储思路:直接对txt文件内容进行存储即可。存储时,手动设置存储内容。核心程序 /// <summary> /// 日志系统 /// </summary> public class LogAct { /// <summary> /// 普通日志 /...

2020-03-24 08:46:36 963

原创 WPF 自定义窗口笔记

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

2020-03-22 13:44:36 392

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

Type t = Farsightedgo.Localization.LanguageManager.Instance.GetType();//获得该类的Type foreach (PropertyInfo pi in t.GetProperties()) { if (pi.Name == D...

2020-03-20 20:05:08 2316

原创 WPF 变换方式LayoutTransform和RenderTransform

WPF提供两种变换方式,分别是LayoutTransform和RenderTransform。从字面意思来讲LayoutTransform是布局变换,后者RenderTransform是渲染变换。共同点:他们都提供了TransformGroup(变换组)、TranslateTransform(平移)、RotateTransform(旋转)、ScaleTransform(缩放)、MatrixTr...

2020-03-19 18:48:25 902

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

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

2020-03-19 18:48:11 2133

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

/// <summary> /// 找到当前路径下文件扩展名相同的文件 /// </summary> /// <param name="path">路径</param> /// <param name="ext">扩展名</param> ///...

2020-03-19 18:47:54 909

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

方法1:直接将字符串转换StringBuilder结构,然后获取Capacity来获取字符串中真实(一个汉字等于2或者4)的字符(字节)长度。使用Length获取字符(1个汉字也只有一个字符)长度。...

2020-03-12 18:35:06 2222

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

WPF 几何图形之图形微语言命令在WPF中,可以通过几何图形(Geometry)来绘制矢量图形。简单的几何图形包括:LineGeometry、RectangleGeometry、EllipseGeometry等。复杂的集合图形包括:PathGeometry、 GeometryGroup 、CombineGeometry、StreamGeometry等。注意:StreamGeometry的内...

2020-03-06 08:48:08 1052 1

原创 WPF 设置图片的分辨率DPI

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

2020-03-01 19:44:48 2781 1

System.Windows.Interactivity.rar

WPF 中UI交互设计时,必不可少的工具,微软自己编写的虽然没有直接加入到.NET Framework中。

2020-02-29

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

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

2019-08-20

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

C# Sokect通信(TCP)【半双工通信实现】面向串行通信封装

2019-07-30

Mef190718.Deamon.DeamonLogService.rar

这是一个简单的实例Demo,通过使用Topshelf实现了Windows Service服务的开发。

2019-07-18

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

WPF中使用字体图标(IconFont、FontAwesome)的源代码,以及拓展代码。

2019-01-30

委托异步简单实现源代码

实例源代码,C#委托实现异步计算和窗体之间传递数据信息。

2019-01-30

MySql数据库(5.5)

MySql数据库(5.5版本),以及数据库可视化工具MySQL-Front。

2019-01-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除