WPF
^@^lemon tea^@^
小编坚持给大家分享C#/WPF相关的文章,希望小编分享的文章能够给大家在日常的工作当中,带来一点帮助。也感谢大家对的支持,未来我会坚持创作,给大家分享,我个人认为对大家会有价值的文章,也希望大家能持续关注、也非常欢迎朋友提宝贵意见,我会积极改进,希望大家可以互相交流学习、共同进步!
展开
-
WPF 在控件上屏蔽系统默认的触摸长按事件
WPF 在控件上屏蔽系统默认的触摸长按事件原创 2023-12-29 09:18:49 · 663 阅读 · 0 评论 -
WPF 中控件“PART_XXX”内置的特殊名称说明
WPF 中控件“PART_XXX”内置的特殊名称说明原创 2022-06-08 16:53:20 · 971 阅读 · 3 评论 -
WPF 关于CommandParameter=“{Binding}”的理解
WPF 关于CommandParameter="{Binding}”的理解原创 2022-05-11 14:31:46 · 6753 阅读 · 0 评论 -
Image 旋转 平移问题
WPF Image控件旋转和平移问题;原创 2022-05-11 11:37:44 · 578 阅读 · 0 评论 -
WPF Button控件使用属性触发器--不生效问题
WPF Button控件使用属性触发器----不生效问题原创 2022-05-05 11:31:14 · 4237 阅读 · 0 评论 -
WPF 窗口移动
wpf 窗口移动实现原创 2022-01-15 10:13:07 · 793 阅读 · 0 评论 -
TextBox 文本垂直居中显示
TextBox 文本垂直居中显示原创 2021-12-13 13:44:51 · 3045 阅读 · 0 评论 -
WPF Dispatcher.Invoke和Dispatcher.BeginInvoke的区别
本章讲述:WPF Dispatcher.Invoke和Dispatcher.BeginInvoke的区别。该类型的 CollectionView 不支持从调度程序线程以外的线程对其 SourceCollection 进行的更改。App.Current.Dispatcher.Invoke(() =>{});//等待主线程调用 Task任务中可用此更新界面上,不允许线程调度的在 WP...原创 2020-10-19 14:06:13 · 3412 阅读 · 0 评论 -
WPF 电脑显示屏关闭,窗口大小位置莫名改变问题
关闭显示屏或者电脑休眠显示屏关闭,软件位置和大小改变,导致界面内容显示不全问题;可采用“LocationChanged”事件处理// 摘要: 在窗口的位置更改时发生。public event EventHandler LocationChanged;...原创 2021-02-06 15:02:50 · 1497 阅读 · 0 评论 -
C# 禁止程序运行多次
本文讲述:在WPF中,禁止程序运行多次有很多种方法,这里使用互斥量来实现。通过获取程序集元数据,判断软件是否运行,使用互斥量,防止程序多个同时运行。System.Threading.Mutex m_mutex;protected override void OnStartup(StartupEventArgs e){ Assembly assembly = Assembly.Ge...原创 2020-10-19 10:38:15 · 441 阅读 · 0 评论 -
WPF Deactivated和Activated简单使用
本章讲述:Activated获得焦点事件 和 Deactivated失去焦点的事件Deactivated (public event EventHandler Deactivated;)命名空间:System.Windows在应用程序停止作为前台应用程序时发生。Activated: 获得焦点 (首次打开软件时;由别的软件切换回当前软件时;点击当前软件在任务栏的按钮时)Deactiva...原创 2020-08-13 13:58:20 · 2935 阅读 · 0 评论 -
WPF 数据绑定(后台类对象的属性值发生改变,通知在 界面与之绑定的控件值)
要使后台类对象的属性值发生改变,通知在“界面与之绑定的控件值”,需要实现INotitypropertyChanged接口。INotifyPropertyChanged 接口用于通知客户端(通常是绑定客户端)属性值已更改。INotifyPropertyChanged是.net内置的接口,数据绑定DataContext是否实现了INotityPropertyChanged接口,如果实现了,就会...原创 2020-04-18 15:20:17 · 5076 阅读 · 0 评论 -
WPF中命令(Command)简单使用绑定(一)
本章我们来讲述WPF中命令(Command)的绑定和使用首先我们要先定义一个类,并继承ICommand;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Input;...原创 2020-04-22 21:44:17 · 7514 阅读 · 0 评论 -
触发器使用巧点
属性触发器中的属性值,在使用数据触发器中,都有一个与之对应的数据值。<Border Width="220" Height="40" CornerRadius="5"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition Width=...原创 2020-03-17 19:53:51 · 219 阅读 · 0 评论 -
WPF Image简单样式示例
Image 样式1.使用属性触发器 使图片在鼠标在图片范围内,更改图片(注意点:调用的时候对Source赋值时,发现属性触发器不起作用)<Image VerticalAlignment="Center" Stretch="None"> <Image.Style> <Style TargetType="{x:Type Image}"> &l...原创 2019-10-16 16:22:00 · 1124 阅读 · 0 评论 -
WPF GDI+字符串绘制成图片(二)
本章讲述:在WPF中,使用GDI+技术,把字符串数据绘制成图片;文字可分为:居左显示、居中显示、居右显示。完整的例子参考网址:1、XAML 前端设计<Window x:Class="WPF_GDI_Test.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"...原创 2018-11-02 11:14:43 · 674 阅读 · 0 评论 -
WPF UpdateSourceTrigger 界面数据源更新
在项目中,类似TextBox/TextBlock控件,后台数据已经刷新,但是界面上未立即刷新,失去焦点才更新界面,原因:参数设置不正确View中文本框绑定内容如下:<!--1 属性更新则刷新界面绑定数据--><TextBlock Text="{Binding UserName,UpdateSourceTrigger=PropertyChanged,Mode=TwoWa...原创 2019-04-17 11:49:05 · 2649 阅读 · 0 评论 -
WPF 简单计时器TextBlock样式
样式<Style x:Key="QuartzMSFont"> <Setter Property="TextElement.FontFamily" Value="Resources/#Quartz Regular"/></Style>前端UI<TextBlock x:Name="ColorTimer" HorizontalAlign...原创 2019-04-23 17:43:32 · 1149 阅读 · 0 评论 -
WPF UserControl响应PreviewKeyDown事件方法
之前在一个项目中,Window窗口嵌入UserControl页面,在UserControl控件页面中添加PreviewKeyDown或者KeyDown事件,软件均不触发事件;在Window窗口可以响应事件,但是由于项目上下文绑定,调用不到想要执行的函数,所以写个文章记录一下,以便后期遇到同样问题,能及时解决。1、UserControl后台逻辑处理页面中添加public void Call...原创 2019-04-19 10:21:54 · 2479 阅读 · 0 评论 -
WPF 界面主题颜色绑定切换
WPF 界面颜色动态绑定(界面主题颜色绑定切换)1、窗口/按钮 边框颜色动态绑定资源 首先在App.xaml文件中定义一个键值为“color”的单色笔刷,这个笔刷就是可以被用户改变的动态资源:<SolidColorBrush x:Key="color" Color="SkyBlue" />2、 设计一个界面:其原理与窗口样式相同。<Border Bor...原创 2019-05-06 10:08:45 · 4110 阅读 · 0 评论 -
WPF 用 ItemsControl 实现TextBlock文字字间距
WPF 中TextBlock控件中字符之间的间隔是不可以设置的,但是可以通过ItemsControl控件实现该功能1、界面代码<ItemsControl x:Name="itemCtrl" ItemsSource="{Binding Path=Title, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=...原创 2019-05-06 10:32:12 · 3884 阅读 · 0 评论 -
WPF 关于 ColorPicker 颜色选择器依赖库 使用问题和示例
1、下载ColorPicker.dll2、在项目工程中引入“ColorPicker.dll”库文件(引用—添加引用—浏览—点击浏览按钮,找到下载的“ColorPicker.dll”)如果在工程中不添加引用,软件就会提示:命名空间“ xmlns:local="clr-namespace:ColorPicker;assembly=ColorPicker" 不存在“ColorPicker”...原创 2019-05-24 17:31:10 · 2765 阅读 · 5 评论 -
WPF Window应用程序转换为类库
本章讲述:WPF 控制台程序/Window应用程序转换为类库的方法步骤;新建项目“WPF_WindowToDll”,在MainWindow.xaml中添加代码:<Window x:Class="WPF_WindowToDll.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/present...原创 2019-06-20 15:54:48 · 1345 阅读 · 0 评论 -
WPF 日常开发用到的知识点(一)
本章记录自己在日常使用WPF开发软件过程中使用到的一些知识点,做个记录防止自己以后忘记;1、在改写模板时候,发现边框设置1个像素,但是运行效果显示的不是1个像素并且很模糊; 解决方法:开启像素对齐,设置属性SnapsToDevicePixels="True"2、绘制线条可以使用Rextangle, 也可以用分割线<Rectangle Width="344" Heigh...原创 2019-08-02 08:44:16 · 429 阅读 · 0 评论 -
WPF 性能优化建议
本章讲述:WPF 性能优化建议20180930 WPF性能优化问题:运行软件发现CPU使用率很大(80%-95%),程序中含有委托,线程,定时器的处理,之前优化时,主要优化线程和定时器相关线程方面的处理,但是效果甚微;无意间看到博客中说程序界面中使用了投影效果会造成CPU使用率高,就试着修改,没想到,软件运行稳定后CPU使用率下降到了30%左右。现整理一下WPF性能优化建议:1、尽...原创 2019-04-12 10:10:25 · 4008 阅读 · 0 评论 -
手动搭建一个简单的MVVMLight框架的方法
手动搭建一个简单的MVVMLight框架步骤原创 2023-05-24 18:26:51 · 1329 阅读 · 1 评论 -
WPF Button按钮模板样式修改(一)
本章讲述:Button简单模板样式的修改,圆角矩形按钮实现;主要通过修改控件模板以达到效果;XAML前端样式代码:通过Border来控制控件的圆角;采用属性触发器控制鼠标操作时,改变前景色和背景色。<Style x:Key="ExButton" TargetType="{x:Type Button}"> <Setter Property="MinHeight" V...原创 2018-10-29 09:16:24 · 7455 阅读 · 0 评论 -
WPF Button按钮模板样式修改(二)
本章讲述:Button模板样式修改,不显示边框,只显示图标,点击按钮图标动态旋转;主要采用采用图片做背景和数据触发器,触发故事板(Storyboard)事件,实现按钮中图片按角度旋转;<Button Width="30" Height="30"> <Button.Style> <Style TargetType="Button">..原创 2018-10-29 09:16:35 · 1815 阅读 · 0 评论 -
WPF 背景颜色渐变的滑动条实现
本章讲述:在WPF中,背景颜色渐变的滑动条功能实现,主要通过修改Slider的样式;该示例就以:绿-红颜色渐变;样式代码<Geometry x:Key="SliderThumbOuterBorderGeometry"> M9.5,5 C9.5,7.4852814 7.4852814,9.5 5,9.5 C2.5147186,9.5 0.5,7.4852814 0.5,5...原创 2018-10-30 08:58:19 · 1515 阅读 · 0 评论 -
WPF 带刻度的滑动条实现
本章讲述:带刻度的水平滑动条实现;主要通过修改Slider的样式实现。样式主要代码<Style x:Key="SliderRepeatButtonStyle_Horiz" TargetType="{x:Type RepeatButton}"> <Setter Property="OverridesDefaultStyle" Value="true"/> &am原创 2018-11-06 14:23:37 · 1796 阅读 · 0 评论 -
WPF 带水印的密码输入框实现
本章讲述:带水印的密码输入框实现主要功能:带水印效果,控件提示图标,控件文本清除图标;新建一个WPF项目,然后添加“自定义控件(WPF)”,命名为:“ExTextBox”资源字典XAML前台样式<Style TargetType="{x:Type local:ExTextBox}"> <Setter Property="VerticalAlignment" V...原创 2018-10-30 08:57:29 · 1118 阅读 · 0 评论 -
WPF GDI+字符串绘制成图片(一)
本章讲述:在WPF中,使用GDI+技术,把字符串数据,根据文本字体样式,大小绘制成字符串图片;1、XAML前台代码<Window x:Class="WPF_GDI_Test.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="ht...原创 2018-11-02 11:14:26 · 1260 阅读 · 0 评论 -
WPF 一个简单的颜色选择器
本章讲述:WPF中,一个简单的颜色选择器的实现;具体简单的界面显示引用可以参考地址:https://blog.csdn.net/BYH371256/article/details/90520134使用外部依赖库文件:“ColorPicker.dll”;下载地址:https://download.csdn.net/download/byh371256/107452731、XAML界面...原创 2018-10-26 09:43:51 · 5369 阅读 · 0 评论 -
GroupBox 自定义样式 模板改写
1、模板改写XAML<Style TargetType="{x:Type GroupBox}" x:Key="Group"> <Setter Property="Margin" Value="5"/> <Setter Property="Template"> <Setter原创 2018-10-16 10:54:50 · 2387 阅读 · 0 评论 -
ListView 实现斑马线颜色间隔效果(ListViewItem颜色间隔显示)
第一种方式:使用转换器实现1、转换器功能实现//ListViewItem 隔行显示不同的颜色,用于界面样式背景颜色绑定public sealed class BackgroundConverter : IValueConverter{ public object Convert(object value, Type targetType, object parameter, S...原创 2018-10-16 10:48:22 · 1724 阅读 · 0 评论 -
图片资源相互转换
1、System.Drawing.Bitmap 转换 System.Windows.Media.ImageSource (Bitmap => ImageSource)#region Change Bitmap To ImageSource [System.Runtime.InteropServices.DllImport("gdi32.dll", SetLastError = ...原创 2018-10-16 10:30:18 · 401 阅读 · 0 评论 -
WPF Window背景半透明 ,蒙版操作实现
本章主要讲述:在WPF中,蒙版背景实现;主要是通过改变Window的背景透明度和设置属性(AllowsTransparency)允许透明,否则不生效;XAML设计代码<Window x:Class="Gvitech.Application.WPF.UI.FunFacility.WindowEquipmentRecord" xmlns="http://...原创 2018-10-29 09:16:05 · 2834 阅读 · 0 评论 -
C# 七牛云文件断点续下载
本章讲述:在WPF中,使用“HttpWebRequest”类,通过“HTTP”传输协议, 实现文件下载到本地目录;主要功能有:文件流写入、文件读取、暂停/继续下载、下载进度回调。流程:首先判断文件是否存在,如果存在并未下载完成,则读取已下载大小,然后执行后半部分数据下载;名空间:namespace System.Net开发流程步骤地址:https://blog.csdn.net/BYH...原创 2018-11-15 10:32:24 · 733 阅读 · 0 评论 -
使用SumatraPDF.exe 查看pdf文档
本章讲述:使用SumatraPDF.exe 查看pdf文档;首先要下载 “SumatraPDF.exe” 程序,开源的代码示例,调用“SumatraPDF.exe”查看pdf文档:string exePath = System.IO.Path.Combine(Environment.CurrentDirectory, "SumatraPDF.exe");if (!System.IO...原创 2019-02-12 14:48:42 · 1677 阅读 · 0 评论 -
C# 中四种计时器的简单实现方法
本章讲述:C# 中计时器的简单实现方法;1、System.Threading.Timer 使用方法://定义计时器private System.Threading.Timer timerClose;//初始化计时器timerClose = new System.Threading.Timer(new TimerCallback(timerCall), this, 5000, ...原创 2019-01-24 10:43:25 · 4516 阅读 · 0 评论