Wpf

C# wpf 实现窗口靠近屏幕边缘自动吸附

参考:https://blog.csdn.net/qq_35831134/article/details/88751067 #region 侧吸 private new bool Hide = false; //用来表示当前隐藏状态,例如Hide=false就是不在隐藏状态 string type ......
边缘 屏幕 wpf

为WPF按钮添加UAC盾牌图标

在上一篇文章中,介绍了如何获取系统Shell的图标。在C#中调用SHGetStockIconInfo即可获取获取图标 定义SHGetStockIconInfo函数用到的数据结构 1 public enum SHSTOCKICONID : uint 2 { 3 /// <summary>Documen ......
盾牌 图标 按钮 WPF UAC

WPF-封装自定义雷达图控件

源码地址:https://gitee.com/LiuShuiRuoBing/code_blog 雷达图用于表示不同内容的占比关系,在项目中有广泛的应用,但是目前未曾有封装良好的雷达图控件,鉴于最近项目的使用,于是想要封装一个通用的雷达图控件,便于日后的扩展使用。 首先雷达图的绘制大概分为雷达图的图层 ......
控件 WPF

WPF使用TextBlock实现查找结果高亮显示

在应用开发过程中,经常遇到这样的需求:通过关键字查找数据,把带有关键字的数据显示出来,同时在结果中高亮显示关键字。在web开发中,只需在关键字上加一层标签,然后设置标签样式就可以轻松实现。 在WPF中显示文本内容通常采用`TextBlock`控件,也可以采用类似的方式,通过内联流内容元素`Run`达 ......
TextBlock 结果 WPF

wpf路由事件简述

比如在一个窗体中放一个容器,容器中再放一个按钮,添加按钮的鼠标点击事件,再添加容器的鼠标点击事件,然后添加窗体的鼠标点击事件,那么当我们触发按钮的鼠标点击事件后如果不设置e.handle=true就会继续执行容器的鼠标点击事件然后再执行窗体的鼠标点击事件,这就是路由事件的概念。 ......
路由 事件 wpf

WPF中窗口控件的跨线程调用

在多线程里面,UI是不能直接跨线程使用的。 在WinForm中,我们要跨线程访问窗口控件,只需要设置属性CheckForIllegalCrossThreadCalls = false;即可。 在WPF中要设置Dispatcher属性。msg为要输出的内容 private delegate void ......
线程 控件 WPF

WPF-利用装饰器实现空间的自由拖动

在项目中经常会遇到类似如下要求的需求,创建允许自由拖动的控件,这样的需求可以使用WPF的装饰器Adorner来实现。 一、什么是装饰器? 装饰器是一种特殊类型的FrameworkElement,装饰器始终呈现在被装饰元素的顶部,用于向用户提供可视化提示。装饰器可以在不改变原有控件结构的基础上,将功能 ......
空间 WPF

DevExpress WPF知识点

1、表格右键菜单定位到行 private void TableView_ContextMenuOpening(object sender, ContextMenuEventArgs e) { var tableView = (sender as TableView); var hitInfo = t ......
知识点 DevExpress 知识 WPF

WPF PasswordBox控件的使用

在做登陆框的时候使用到PasswordBox,PasswordBox不能像TextBox一样直接Binding就可以实现MVVM,需要用到依赖属性。 LoginView文件的代码: <StackPanel Grid.Row="0" Orientation="Horizontal" Margin="5 ......
控件 PasswordBox WPF

WPF页面填充

在被填充区域加一个ContentControl控件并命名 <ContentControl x:Name="Page_Chart" /> 添加一个页面,在里面设计相应的内容 SystemChart chart = new SystemChart();//实例化页面 Page_Chart.Content ......
页面 WPF

WPF 触发器Trigger

Trigger:当某些条件满足时会触发一个行为。 一、触发器的类型 数据变化触发型:Trigger / DataTrigger 多条件触发型:MultiTrigger / MultiDataTrigger 事件触发型:EventTrigger 二、Trigger Trigger:Property用来 ......
触发器 Trigger WPF

WPF 入门笔记 - 08 - 动画

图形系部分主要有`Shape`和`Goemetry`两大类,可以直接对`Shape`进行排版、设定风格和数据绑定,后者则需要通过视觉元素才能在屏幕上显示出来。动画则一般分为简单动画、关键帧动画以及沿路径运动的动画,日常使用过程种应该是关键帧动画用的多一点,当然除了文章中例举的关键帧类型,还有其他很多... ......
笔记 动画 WPF 08

WPF输入框验证

WPF使用ValidationRule进行数据绑定验证 1.xaml代码如下: <Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x ......
WPF

DevExpress WPF HeatMap组件,一个高度可自定义的热图控件!

像所有DevExpress UI组件一样,HeatMap组件针对速度进行了优化,包括数十个自定义设置和高级API,因此用户可以快速将美观的数据可视化集成到下一个WPF应用程序中。 P.S:DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过D ......
控件 DevExpress 组件 高度 HeatMap

WPF ToggleButton使用Command命令触发MouseDown没触发MouseUp,下次点击应用其它地方会再次触发该ToggleButton的命令

今天在某个应用,ToggleButton控制了蓝牙的开关。测试使用了蓝牙鼠标进行控制,发现关闭后,使用触控点击应用其它地方,再次触发了ToggleButton的命令,又把蓝牙开关打开了。 使用Snoop抓取ToggleButton的事件发现,使用蓝牙鼠标关闭后Command命令触发MouseDown ......
ToggleButton 命令 MouseDown 再次 Command

WPF实现Element UI风格的日期时间选择器

### 背景 业务开发过程中遇到一个日期范围选择的需求,和Element UI的DateTimePicker组件比较类似,由两个日历控件组成,联动选择起始时间和结束时间。 ### 问题 WPF中提供了一个`DatePicker`的控件,主要由`DatePickerTextBox`、`Button`和 ......
风格 日期 Element 时间 WPF

WPF Grid内的元素设置ZIndex

有时需要对Grid内的元素进行重新叠放,可以使用Grid.SetZIndex()方法实现: Grid.SetZIndex(drawCanvas, 1); Grid.SetZIndex(canvRects, 0); ......
元素 ZIndex Grid WPF

C# wpf 按钮 样式

<Button Width="312" Height="104" Click="Button_Click"> <Button.Template> <ControlTemplate TargetType="Button"> <Grid> <Rectangle Fill="#0096FF" Opacit ......
样式 按钮 wpf

WPF绑定Enum到RadioButton

将枚举型的数据类型绑定到单选按钮的IsChecked属性中,可以避免定义多个bool类型与之进行绑定,尤其是枚举类型较多时候,对bool对象的维护会更加复杂。 1、定义枚举类型及值转换器 internal enum Gender { [Description("男")] Male, [Descrip ......
RadioButton Enum WPF

WPF开发快速入门【8】WPF进行简单的3D开发

概述 本文介绍采用WPF进行3D开发的一些基础知识,还有HelixToolkit控件的介绍以及在MVVM模式下使用3D框架。 3D开发入门 官方文档对3D开发的一些基础知识已经描述的比较详细了:三维图形概述 - WPF .NET Framework | Microsoft Docs 在学习WPF 3 ......
WPF

WPF开发快速入门【7】WPF的拖放功能(Drag and Drop)

概述 本文描述WPF的拖放功能(Drag and Drop)。 拖放功能涉及到两个功能,一个就是拖,一个是放。拖放可以发生在两个控件之间,也可以在一个控件自己内部拖放。假设界面上有两个控件,一个TreeView,一个ListView,那么可能发生的拖动有以下几种情况: 1、TreeView -> L ......
WPF 功能 Drag Drop and

WPF 滚动条ScrollViewer样式记录

WPF 应用程序中有两个支持滚动的预定义元素:ScrollBar 和 ScrollViewer。 ScrollViewer 控件封装了水平和垂直 ScrollBar 元素以及一个内容容器(如 Panel 元素),以便在可滚动的区域中显示其他可见元素。 必须生成自定义对象才能使用 ScrollBar ......
ScrollViewer 样式 WPF

WPF开发快速入门【5】DataGrid的使用

概述 DataGrid是最常用的一种列表数据展现控件,本文介绍DataGrid的一些常用操作,包括:展示、新增、删除、修改等。以下代码基于Stylet框架实现。 数据展示 DataGrid用于对象列表的展示,我们先定义一个对象DataRecord public class DataRecord { ......
DataGrid WPF

WPF开发快速入门【4】自定义控件与用户控件

概述 本文描述WPF的自定义控件和用户控件。 自定义控件 前面文章介绍了WPF的ControlTemplate,当我们对系统控件自带的样式不太满意时,我们可以通过控件模板自定义用户的样式,以Button为例,我们可以设计一个圆形的按钮,并通过触发器控制一些动态效果。在使用控件模板时,我们通过Temp ......
控件 用户 WPF

WPF开发快速入门【6】下拉框与枚举类型

概述 本文讲述下拉框和枚举类型进行绑定的一些操作。 下拉框的基本操作 设计部分: <ComboBox ItemsSource="{Binding Fruits}" SelectedItem="{Binding SelectedFruit}" SelectedIndex="{Binding Selec ......
类型 WPF

WPF开发快速入门【1】WPF的布局

概述 本文描述几款WPF中常用的布局控件。 Grid Grid是WPF最常用的布局控件。 它把面板分割为固定长和宽的网格,子控件就放置在网格内。 <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="100"/> <ColumnDefini ......
WPF 布局

WPF开发快速入门【3】WPF的基本特性(附加属性)

概述 本文描述WPF的附加属性。对于使用MVVM框架的项目,附加属性是非常重要的一个特性。 在MVVM框架下,ViewModel的代码通过控件的依赖属性来控制控件的,例如: //ViewModel public Visibility GridVisibility {get;set} public v ......
WPF 属性 特性

WPF开发快速入门【2】WPF的基本特性(Style、Trigger、Template)

概述 本文描述几个WPF的常用特性,包括:样式、触发器和控件模板。 样式/Style Style就是控件的外观,在XAML中,我们通过修改控件的属性值来设置它的样式,如: <!--直接定义style--> <Border Grid.Row="0" Grid.Column="0" Background ......
WPF Template 特性 Trigger Style

WPF优秀组件推荐之FreeSpire

概述 Spire是一套可以轻松处理Word、Excel和PDF的商业组件,需要收费,但是他有一套对应的免费组件FreeSpire可以使用,免费组件在功能上有一些限制(比如:excel的sheet数量不能超过30),对于普通应用来说大部分场景下都可以适用了。 中文帮助文档:帮助文档 | 全面丰富的在线 ......
组件 FreeSpire WPF

WPF优秀组件推荐之MahApps

概述 MahApps是一套基于WPF的界面组件,通过该组件,可以使用较小的开发成本实现一个相对很好的界面效果。 官方网站:MahApps.Metro - Home 开源代码:MahApps · GitHub 本文代码基于Stylet开发,如果您还不了解Stylet,请参阅: WPF优秀组件推荐之St ......
组件 MahApps WPF