- 博客(16)
- 资源 (2)
- 问答 (2)
- 收藏
- 关注
原创 WPF调色盘(3):选择颜色
mouse点是相对于Image控件的。通过等比换算,计算出鼠标点,在图片上的坐标。然后通过“可写的图片”,读取该坐标点的颜色值。这里最核心的一个问题是,屏幕上(Image控件)的坐标系,与ImageSource这张图篇的坐标系的对应关系。因为控件是可以大,可以小的。那么如何确定鼠标在Image控件上的点,对应到ImageSource图片上的点呢?但光显示没什么意义,还需要实现的一个功能是:鼠标在Image控件中点一下,就能取出点击位置的颜色。在上一篇文章中,已经把绘制的色轮,显示在Image控件中了。
2023-06-25 16:16:46
526
原创 WPF调色盘(2):显示调色盘
既然已经可以绘制一个调色盘了,那就必然要将调盘显示出来!这就需要用到一个“可写的图片”。通过写一个图片,将调色盘的数据写入一个图片中,然后用Image控件显示出来即可。上一篇文章写到如何绘制一个调色盘,并给出了核心算法代码。但还缺少一个步骤:显示该调色盘。具体代码的含义,自行百度吧。
2023-06-25 15:52:20
352
原创 网页切换视频不自动暂停
有一些在线学习网站会有这样的功能;正在播放课程视频,如果切换页面,视频会自动暂停。如果不希望在页面切换时,视频自动暂停,可以通过修改页面的代码来实现。核心思想就是:js会判断,当页面的visibility为不可见时,视频暂停。因为可以找到播放视频的那个元素。然后在“事件侦听器”中去找与显示相关的事件,并删除。在我个人的这个学习课程中,就是找到了visibilityChanged事件,删除它,切换页面的时候视频就不会暂停了。 注意:因为我们删除的事件,是位于本机的js文件(缓存)...
2022-05-30 10:35:11
13292
1
原创 WPF 类windows资源管理器(一)——TreeViewItem改造
目标:做一个类似windows资源管理器的TreeView控件,用于展示层次化的数据结构。功能要求:1. 鼠标悬停某一项时,改变整行的背景(而不是只改变内容部分的背景)2. 可以自由拖动项指定TreeView控件的数据源时,它默认会以TreeViewItem来展示每一个项。因此,TreeViewItem的样式,就非常重要。一、TreeViewItem的布局1.1 反编译TreeViewItem控件的Template属性,得到WPF默认的模板代码:<!-- ...
2022-01-26 15:40:43
2768
原创 WPF之依赖属性
在学习WPF的过程中,依赖属性(有些教程称之为“依赖项属性,我喜欢称之为”依赖属性)的概念一直搞不明白,实在不明白微软为何要引入这么个难懂的东西。然后翻书,逛帖子,看源码,总算弄懂了一点了。先贴出资源吧:微软DotNet源码(官方的哦,不是我反编译的):Reference Source (microsoft.com)东邪西毒的博客:继续聊WPF——依赖项属性(1) 继续聊WPF——依赖项属性(2) ...
2021-06-27 00:06:48
498
原创 .NET 关于静态字段继承问题
.NET 丢下年了,最近又来翻书,对静态字段的继承特性已经忘了,特意写了一个实例来实验一下。(高手自动略过吧) public class Bag { public static int Weight; public int Capacity { get; set; } } public class Rect : Bag { public double Books { get; set; } }
2021-06-26 16:58:22
167
原创 WPF Grid容器的共享尺寸
在父级Grid下,包含两个grid,两个子grid的列数不同,通常会造成两个grid的列不对齐。如果希望某几列对齐,则可以使用“共享尺寸”,方法如下: <Grid Grid.IsSharedSizeScope="True"> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> </Grid.Row
2021-06-22 11:51:17
805
原创 .Net Core WPF 中使用OpenFileDialog窗体
众所周知,在WPF程序中,要是实现“浏览”(也就是打开一个窗体,可以在其中选择文件)的功能,最方便的莫过于使用Windows Form程序中的OpenFileDialog类。 因此在WPF程序中,需要去引用System.Windows.Forms命名空间。在最新的VS2019中,最新的.NET CORE 也增加了WPF应用。但因为.NET Core的架构与.Net Framework有所不同,...
2019-12-22 17:22:54
2903
原创 C语言自学系列笔记 _ 基本数据类型
C语言中数据类型大致可分为两类:基础数据类型和复杂数据类型。基础数据类型,总的来说分为两种:整型和浮点型。1. 整型数据顾名思义,整型数据就是指没有小数的数字。如122,-33等。他们都没有小数。整型数据的类型关键字为int。根据计算机硬件及操作系统的不同,int类型的在内存中占用的空间大小不同。对于现代计算机而言,int类型通常占用4字节,即32位。可以使用sizeof运算符得到...
2018-09-26 23:43:22
594
原创 C语言 可变长度的数组 -2
在笔者的上一篇blog中,使用了“链表”这样一种数据结构来实现C语言版的可变数组;虽然它的功能强大,但是缺点也是很多的。例如,在释放内存的时候需要循环释放。假如链表中元素比较多,则释放内存就比较耗费时间;且其数据在内存中存放的位置不连续。在此,笔者介绍另外一种方式,来实现可变数组。
2015-09-17 23:07:21
3854
原创 关于CAD命令系统的改进
笔者的上一片文章中用了四种方式来实现CAD命令系统的功能,也提到了各自的优缺点,也提出了自己的观点,使用第四种方式能获得非常好的扩展性体验。然而,仔细观察一下代码,读者会发现,第四种实现方法是通过三层循环(第一层循环是为了连续读取用户输入的命令。),将用户输入的命令与方法的特性值一个一个做比对而实现的。也就是说,在用户输入完命令后,程序就开始遍历方法数组,然后获得某个方法的特性,然后再遍历这个方法
2014-08-27 16:05:37
573
原创 关于C#多态性的一点认识
声明:本人也是刚刚学习C#不久,都是自己啃书。所有见解不到位的地方还请各位友好的提出。特在此感谢。 在学习C#的过程中,关于对象、继承等概念的还算是比较简单。但是其中的多态性却是让我云里雾里,不知道他有什么用,该如何理解。在这里,咱们先看一个完整代码:using System; namespace Test{ class A {
2014-07-16 08:48:15
394
TA创建的收藏夹 TA关注的收藏夹
TA关注的人