随笔分类 -  WPF

摘要:在WPF中,RaiseEvent 和直接调用事件处理程序(如 MouseRightButtonDown.Invoke)之间有一些区别。以下是这两者的主要区别: RaiseEvent 路由事件:RaiseEvent 是用于引发路由事件的。路由事件可以穿越元素树,从源元素开始,向上或向下传递给父元素或子 阅读全文
posted @ 2025-01-16 18:00 LXLR 阅读(13) 评论(0) 推荐(0) 编辑
摘要:public static T FindChild<T>(DependencyObject parent, string childName) where T : DependencyObject { // 检查null情况 if (parent == null) return null; T fo 阅读全文
posted @ 2024-11-21 16:02 LXLR 阅读(15) 评论(0) 推荐(0) 编辑
摘要:<Canvas> <TextBlock x:Name="stitchOverTopTextBlock"FontFamily="Microsoft YaHei" Text="好好学习 天天向上" SizeChanged="stitchOverTopTextBlock_SizeChanged" Pane 阅读全文
posted @ 2024-11-21 15:58 LXLR 阅读(10) 评论(0) 推荐(0) 编辑
摘要:问题: 该触发器触发后,stitchOverTopControl中的IsRotate依赖属性没有更新。 <Trigger Property="WarningLevel" Value="2"> <Setter Property="Content" > <Setter.Value> <Grid Marg 阅读全文
posted @ 2024-11-21 15:44 LXLR 阅读(4) 评论(0) 推荐(0) 编辑
摘要:是在MVVM中用来传递消息的一种方式。它是在MVVMLight框架中提供的一个实现了IMessenger接口的类,可以用来在ViewModel之间、ViewModel和View之间传递消息。 Send 接受一个泛型参数,表示要发送的消息内容。 Register 方法用于注册某个对象接收消息。 pub 阅读全文
posted @ 2024-02-27 16:21 LXLR 阅读(602) 评论(0) 推荐(0) 编辑
摘要:PART_LeftThumb_DragDelta事件是拖拽过程中实时触发的。当用户按住Thumb控件并拖动时,该事件会在每次鼠标或手指移动时实时触发,而不是按照时间间隔定时触发。这使得应用程序可以实时响应用户的操作,更新UI或执行其他操作。 DragDeltaEventArgs.Horizontal 阅读全文
posted @ 2024-02-23 10:30 LXLR 阅读(117) 评论(0) 推荐(1) 编辑
摘要:1. 抽象方法和虚方法在编程中都是处理继承和多态的重要概念,它们之间的关键差异是什么? ① 定义和实现:抽象方法是只有方法名称,没有方法体(也就是没有方法具体实现),子类必须重写父类抽象方法。虚方法有方法体,子类可以覆盖,也可不覆盖。 ② 声明位置:抽象方法只能声明在抽象类中,使用关键字“abstr 阅读全文
posted @ 2024-01-14 17:48 LXLR 阅读(95) 评论(0) 推荐(0) 编辑
摘要:——什么是DIP(Device Independent Units,设备独立像素)?是指在不考虑具体设备的屏幕分辨率和物理尺寸的情况下定义的一种长度单位,通常用于描述在不同设备上的显示效果。但是,在实际应用中,DIP的值仍然会受到屏幕分辨率和物理尺寸的影响。 ——什么是像素? 像素是图像处理中的基本 阅读全文
posted @ 2024-01-04 16:10 LXLR 阅读(208) 评论(0) 推荐(0) 编辑
摘要:主要包含以下几个事件: 1. UpdateSourceTrigger:用于控制数据绑定如何更新源数据的事件 PropertyChanged:每当目标属性的值更改时,将立即更新源属性。 LostFocus:当目标元素失去焦点时,更新源属性。 Explicit:只有在调用BindingExpressio 阅读全文
posted @ 2023-12-08 10:07 LXLR 阅读(681) 评论(1) 推荐(0) 编辑
摘要:C#的托管资源是由CLR(公共语言运行时)管理的资源,CLR在程序运行时会自动分配和回收托管资源,开发者无需手动管理。包括但不限于以下几种: 1. 对象:C#中的所有对象都是托管资源,包括类对象、数组、委托、接口等。 2. 内存:C#中的内存管理是由CLR自动进行的,CLR会自动为对象分配内存,并在 阅读全文
posted @ 2023-12-07 14:33 LXLR 阅读(878) 评论(0) 推荐(0) 编辑
摘要:一、定义: ValidatesOnDataErrors 是一种在 WPF 中实现数据校验的方式,可以通过在 XAML 中设置属性 ValidatesOnDataErrors 为 True 来启用。 二、使用: ① 在 ViewModel 中实现 IDataErrorInfo 接口,该接口定义了两个属 阅读全文
posted @ 2023-11-02 20:02 LXLR 阅读(352) 评论(0) 推荐(0) 编辑
摘要:一、定义 InputHitTest是一个用于检测鼠标指针是否命中某个可视元素的方法。它可以返回命中的最上层元素。 二、用法: ① 首先,我们需要获取InputHitTest方法所需的参数,即鼠标指针的位置。可以通过Mouse类的GetPosition方法来获取当前鼠标指针的位置: Point pos 阅读全文
posted @ 2023-11-02 19:24 LXLR 阅读(160) 评论(0) 推荐(0) 编辑
摘要:正则表达式是一种用来匹配字符串的规则。每个字符在正则表达式中都有其特定的含义,下面是一些常见的字符及其含义: 1. ^:匹配字符串的开头位置。 2. $:匹配字符串的结尾位置。 3. .:匹配任意单个字符。 4. *:匹配0个或多个前面的字符。 5. +:匹配1个或多个前面的字符。 6. ?:匹配0 阅读全文
posted @ 2023-10-21 15:44 LXLR 阅读(263) 评论(0) 推荐(1) 编辑
摘要:C#常用的五种定时器分别是: System.Timers.Timer System.Threading.Timer System.Windows.Threading.DispatcherTimer : WPF应用程序 System.Windows.Forms.Timer :WinForm应用程序 S 阅读全文
posted @ 2023-09-12 14:32 LXLR 阅读(3810) 评论(0) 推荐(3) 编辑
摘要:一、 ManualResetEvent ManualResetEvent是一个同步对象,可以使一个或多个线程等待另一个线程的信号,然后再同时继续执行。它是通过两个状态来实现的:有信号和无信号。 以下是ManualResetEvent的各个方法的介绍: Set方法:将ManualResetEvent的 阅读全文
posted @ 2023-08-26 17:17 LXLR 阅读(1452) 评论(0) 推荐(0) 编辑
摘要:Trigger:当某些条件满足时会触发一个行为。 一、触发器的类型 数据变化触发型:Trigger / DataTrigger 多条件触发型:MultiTrigger / MultiDataTrigger 事件触发型:EventTrigger 二、Trigger Trigger:Property用来 阅读全文
posted @ 2023-08-24 11:25 LXLR 阅读(1368) 评论(0) 推荐(1) 编辑
摘要:AllowsTransparency属性是一个布尔值属性,用于指示窗口是否允许透明度。需要注意的是,当AllowsTransparency属性为True时,窗口的Style属性应设置为None,以便正确地呈现窗口的透明度。 如果设置为True,则窗口可以是半透明的,即可以设置窗口的不透明度。 当Al 阅读全文
posted @ 2023-07-21 15:48 LXLR 阅读(746) 评论(0) 推荐(1) 编辑
摘要:1.ReferenceEquals(object o1, object o2): 静态方法:比较两个对象的引用,引用相同返回true,否则返回false,同为null是返回true;ReferenceEquals进行值类型比较时总是返回false,因为两个值类型需要分别装箱到对象中,是不同的引用 ; 阅读全文
posted @ 2023-07-16 18:53 LXLR 阅读(974) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示