- 博客(11)
- 收藏
- 关注
原创 WPF 实现自定义Window拖拽效果的一种实现
实现拖拽效果需要使用到三个鼠标事件分别是MouseLeftButtonDown、MouseMove、MouseLeftButtonUp。第二种方法直接使用语法糖:在MouseLeftButtonDown事件中直接使用this.DragMove()声明一个变量IsDragging,用来记录是否在拖拽过程中。
2024-12-10 15:25:57
301
原创 C# Action实现函数调用
类型常用于事件处理、回调函数以及任何需要引用没有参数和返回值的方法的场景。是一个代表没有返回值且没有参数的委托(delegate)。在需要的调用ActionCommon的地方进行回调。类的一个静态成员,定义在。定义要赋给Action的函数。定义全局Action。
2024-11-04 14:06:41
355
原创 WPF 关于主窗体与弹窗之间会出现夹层造成夹杂其他程序的问题
由于弹窗的操作并非用户或者在C#写的界面上完成的,所以当有应用程序覆盖在主窗体之上时进行了弹窗操作,弹窗就会将覆盖在主窗体之上的应用程序夹在弹窗与应用程序之间。在弹窗进行ShowDialog方法之前让主窗体执行Activate方法,主窗体执行Activate方法后会变为前台活动窗口,就会将主窗体之上的应用程序覆盖掉,之后为弹窗窗体设置Owner。可以将弹窗窗体的ShowInTaskbar属性设置为False,这样的话在底部任务栏就不会有弹窗自己的任务,会和主窗体的任务栏合并到一起。这个问题要怎么解决呢?
2024-08-12 16:21:24
213
原创 WPF——可以上下滑动的TabControl
因工作需要,需要写一个可以上下滑动的TabControl,并且将TabItem向上滑动时展示TabItem,像下滑动时隐藏TabItem。关于TabItem上下移动的后端代码,与HiddenTabCommand相绑定。下面记录一下写的TabControl样式,以免以后忘记了。关于TabItem下方的Grid的显示隐藏动画。这就涉及到了控件的重新绘制和简单动画。
2024-07-03 15:47:03
377
原创 使用Binding的RelativeSource
有时候我们不能确定Binding的Source的对象叫什么名字,但是知道它作为Binding目标的对象在UI布局上有相对关系,比如控件自己关联自己的某个数据,关联自己某级容器的数据。这时候我们就要使用Binding的RelativeSource属性。
2024-06-06 16:40:16
261
原创 关于ListBox数据的深度拷贝
listbox数据是引用类型,当我们想要暂时保存某一个listbox的数据的时候,不能新建一个listbox对象进行赋值,因为当listbox的数据发生改变时,新建的listbox也会改变,不能达到保存数据的要求。最简单的循环原listbox,循环时新建对应类型的新对象,然后将新对象加入到新的listbox。想要保存listbox的数据需要对listbox进行深度拷贝。第三种:XML序列化,再反序列化赋值。我没做尝试,不写了。第二种:json序列化,再反序列化赋值。
2024-06-05 14:48:31
255
原创 值类型与引用类型
比如,你想买点粮食放在仓库中,此时你到了值类型的仓库,也就是栈,里面放着粮食,然后你又到了引用类型那里,引用类型有两个仓库,一个是栈,一个是堆,你到栈中发现栈中存放的不是粮食,而是粮票(引用),粮食在堆里面存着。值类型数据,数据存放在栈中 引用类型数据:数据存放在堆中,引用存放在栈中。sch和sch2均为值类型,sch2拷贝sch时将数据拷贝到了栈中,所以sch2改变时,sch不受影响。值类型将数据存放在栈中,而引用类型将数据存放在堆中,将引用存放在栈中。
2024-06-05 14:10:33
144
原创 WPF 模板与样式
我们在工作中经常需要更改控件的样式,因为自带的控件确实不太好看。不过我觉得应该有很多和我一样的新手菜鸟在想自己绘制控件的时候一头雾水,无从下手,在网上找到合适的模板也只是复制粘贴,实际怎么写的根本看不懂,非常头大。我在B站看到一篇非常不错的教程叫做《WPF故事模式》,其中的模板与样式章节看完后感觉有些许启发。在此我将讲义写在这里,还有一些我的个人实践,大家可以参考。
2024-06-03 14:55:45
1203
原创 WPF ComboBox滚轮禁用
通过在网上查询资料了解到当ComboBox获取到了焦点之后就可以通过鼠标滚轮更改其选项了,所以一个想法就是当鼠标离开ComboBox控件时将焦点转移,这样控件失去焦点就无法通过滚轮更改选项了,不过后来我想到如果用户不将鼠标移出控件区域我做的岂不是一点用没有了?用户不得不防啊,所以我在网上找到了另一种方法。与产品沟通暂时可以禁用掉滚轮滑动选则属性的功能,完成功能后记录一下,毕竟我也是个新手就当笔记了。这种方法看到之后我发现我之前简直了。
2023-08-24 17:59:27
656
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人