![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
wpf
吃奶嘴的路飞
这个作者很懒,什么都没留下…
展开
-
记录一个常用的一个整型,存储多个值,利用16进制,或、与运算
场景是这样的,对象属性仅只有一个int的扩展字段,新建字段改动太大,所有需要糅合再一个字段里面标示多个属性...0001 00000010 000016进制长这样...所以可以利用位来标记不通的属性,还有他们常说的高4位和低4位,例如上面,高4位就是0001,低4位就是0000假如:高4位的第一位(顺序是从右到左)是1的话,代表北京,依次第二位是1的话代表重庆,依次第三位是1的话代表烤鸭,依次第四位代表火锅转换成值对应就是:北京:16, 0001 0000重庆:32, 001..原创 2022-01-12 15:26:39 · 350 阅读 · 0 评论 -
有的时候,需要程序跑起来附加调试,备份一下辅助方式
/// <summary> /// 辅助类 /// </summary> public class HostHelper { /// <summary> /// 尝试附加到托管调试器并断言在当前堆栈运行位置。 /// <para> /// 仅在DEBUG编译条件下生效。 /// </para> /// </...原创 2021-09-30 09:57:18 · 102 阅读 · 0 评论 -
备份一个http请求,用的比较多的POST json数据
var data = new object[] { new { sn = SN, mac = Mac } }; var jobj = await Task.Run(() => { try { using (HttpClient client = new HttpClient()) { .原创 2021-09-29 18:09:57 · 147 阅读 · 0 评论 -
备注一下,SolidColorBrush,自定义颜色
new SolidColorBrush((Color)ColorConverter.ConvertFromString("#27212B"));原创 2021-09-16 10:12:51 · 813 阅读 · 0 评论 -
wpf 控件绑定鼠标命令、键盘命令
<Window x:Class="CommandDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" ...原创 2021-07-15 10:47:38 · 1096 阅读 · 0 评论 -
适用于LixtBox的,开启UI虚拟化时,某些时候需要定位到还没加载的项,比如自动选中某项,视图自动移过去等等
/// <summary> /// 将指定父级的下级索引元素,显示在视野下,使其可见 /// </summary> /// <param name="control">父级</param> /// <param name="i">需要可见的子集索引</param> private void BringIndexIntoView(ItemsC...原创 2021-06-24 10:02:18 · 84 阅读 · 0 评论 -
验证控件是否重叠,获取重叠部分
某些时候,需要验证控件之间是否存在重叠的情况,可以借助System.Windows.Rect.IntersectsWith来验证;如果需要获取重叠的部分,则使用System.Windows.Rect.Intersect来实现!原创 2021-06-16 09:51:33 · 409 阅读 · 0 评论 -
MVVM绑定 填坑,必须在与 DependencyObject 相同的线程上创建 DependencySource
场景:线程里面构建MVVM实体类,实体类包含Brush属性时,构建SolidColorBrush需要UI线程,否则会报“必须在与 DependencyObject 相同的线程上创建 DependencySource”MVVM实体类using System;using System.Collections.Generic;using System.ComponentModel;using System.Linq;using System.Text;using System.Thr...原创 2021-03-22 17:59:41 · 4265 阅读 · 6 评论 -
备份一个迭代查找TreeViewItem的辅助函数
private TreeViewItem FindTreeItem(TreeViewItem item, Func<TreeViewItem, bool> compare) { if (item == null) { return null; } var pd = compare?.Invoke(item);//执行比较 if .原创 2021-03-12 15:04:42 · 88 阅读 · 0 评论 -
备份一个集合分组的算法
/// <summary> /// 集合分组 /// </summary> /// <param name="array">需要分组的集合</param> /// <param name="size">每个分组的大小</param> /// <returns></returns> public sta...原创 2021-03-05 18:58:50 · 102 阅读 · 0 评论 -
备份一个有的时候,可能需要把其它exe或者dll包含在主程序中....
1、选中附件,右键生成操作选择 签入的资源,例如:handle.exe2、FileUtilusing System.IO;using System.Reflection;namespace ResourceOccupancyHelp{ public class FileUtil { /// <summary> /// 从资源文件中抽取资源文件 /// </summary> /// &.原创 2021-03-04 16:07:15 · 82 阅读 · 2 评论 -
wpf 代码判断当前是否在设计模式,兼容没有UI线程的限制
/// <summary> /// 当前是否处于设计模式 /// </summary> bool IsInDesignMode { get { return (bool)DesignerProperties.IsInDesignModeProperty .GetMeta...原创 2021-02-24 15:28:30 · 289 阅读 · 0 评论 -
wpf 打开输入法、禁用输入法
<StackPanel Margin="10"> <TextBox Text="默认"></TextBox> <TextBox InputMethod.PreferredImeState="On" InputMethod.PreferredImeConversionMode="Native" Text="打开输入法"/> <TextBox InputMethod.PreferredImeState="Of.原创 2021-01-22 17:20:17 · 1590 阅读 · 0 评论 -
c#实现 正弦sin、反正弦arcsin,正切tan、反正切arctan:求角度值
#region 三角函数和反三角函数using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Messaging;using System.Net.Sockets;using System.Text;using System.Threading;using System.Threading.Tasks;using System.Xml.Linq;names.原创 2021-01-08 16:30:25 · 5134 阅读 · 0 评论 -
记录一个仿Windows10加载动画
<UserControl x:Class="Zhaoxi.Controls.Loading" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org...原创 2020-10-23 14:48:24 · 224 阅读 · 0 评论 -
记录一个闪烁,跳动,光圈的动画
<Window x:Class="WpfApp3.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" ...原创 2020-07-23 10:13:25 · 171 阅读 · 0 评论 -
添加右键上下文菜单后,点击后需要获取到源控件
添加右键上下文菜单后,点击后需要获取到源控件private void MenuItem_Click(object sender, RoutedEventArgs e) { if (sender is MenuItem item && item.Parent is ContextMenu menu && //获取ContextMenu menu.PlacementTar原创 2020-07-02 16:47:43 · 248 阅读 · 0 评论 -
有的时候,给指定的控件,追加一个装饰器Adorner,备注下
有的时候,给指定的控件,追加一个装饰器Adorner,备注下比如给某个图片加个工具条等等...都可以采用装饰器的方式来实现,复用性高,易维护,特此备注下整体效果如下:<Window x:Class="AdornerDemo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pres...原创 2020-05-06 17:06:11 · 148 阅读 · 0 评论 -
备份一个 VirtualizingWrapPanel ,支持虚拟化
using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.ComponentModel;using System.Diagnostics;using System.Linq;using System.Windows;using System.Wind...原创 2020-04-24 17:39:24 · 269 阅读 · 0 评论 -
控件进程化,32位程序做大内存消耗时存在内存不够用时,特此记录解决方案,控件进程化,模块进程化
控件进程化,32位程序做大内存消化时存在内存不够用时,特此记录解决方案,控件进程化,模块进程化...前端时间公司做了图片视频分析处理的项目,图片支持4k,6k甚至勉强支持8k;因为处理的方式很多,各模块之前不能切换后销毁,用户需要来回切换的,针对这个问题,每个模块都会加载图片,图片过大后程序内存告急,且程序是32位的,即使开启了大内存的支持依然不是很好的解决,内存占用过高很容易被360告警,所...原创 2020-04-24 14:25:48 · 486 阅读 · 0 评论 -
还有的时候,会遇到DataGrid里面嵌套DataGrid(重叠嵌套),然后里面的鼠标滚轮无法响应外面的滚动,为此记录下解决方案
与上一篇区别在于,详情里面的模板通常是通用的,被定义在样式文件中,被重复使用,因此无法为其添加后台代码,如果能添加后台代码,请查看第一篇;所以需要用到命令的方式来辅助事件的抛出,当然还可以利用第三方库Prism,他可以把事件当命令传递,且能传递事件的默认参数,详情请参阅这篇文章;好了,下面开始介绍,扩展DataGrid类,通过自定义命令抛出事件,并传递事件参数...先请大致看下运行效果:...原创 2020-04-23 16:29:24 · 312 阅读 · 0 评论 -
有的时候,会遇到DataGrid里面嵌套DataGrid(重叠嵌套),然后里面的鼠标滚轮无法响应外面的滚动,为此记录下解决方案
有点时候,会遇到DataGrid里面嵌套DataGrid(重叠嵌套),然后里面的鼠标滚轮无法响应外面的滚动,为此记录下解决方案本实例是在DataGrid的详情行里再嵌入一个DataGrid,模拟重叠的情况,先看下效果,当然效果是不理想的再看下优化的效果,可见效果明显,如果您有更优越的方式请勿喷,本人能力有限,也是参照网上的,特此整理下:好了,效果看完,我主要说明下:原理...原创 2020-04-21 15:34:26 · 962 阅读 · 0 评论 -
有的时候,需要利用UserControl占位模板,动态替换的情况,绑定后无法获取DataContext的问题
有点时候,需要利用UserControl占位模板,动态替换的情况,绑定后无法获取DataContext的问题,特此备注下效果如下:关键的地方是,下面第3行,需要把当前的上下文传递到Content,生成绑定的ContentTemplate才能获取到绑定在UserControl的DataContext<Style TargetType="UserControl"> ...原创 2020-04-17 15:13:50 · 609 阅读 · 0 评论 -
有的时候,可能会继承基础样式,利用BasedOn="{StaticResource {x:Type TextBlock}}"
有的时候,可能会继承基础样式,利用BasedOn="{StaticResource {x:Type TextBlock}}"<Window x:Class="Demo.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://...原创 2020-04-17 14:21:57 · 382 阅读 · 0 评论 -
wpf,前端动画demo,鱼眼效果
如题,鱼眼。特此备注下<Window x:Class="WpfApp2.Window3" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xm...原创 2020-04-08 17:34:06 · 296 阅读 · 0 评论 -
自定义控件,重写 TextBox 实例
项目中可能会遇到重写控件的情况,特此记录下:<Window x:Class="WpfApp6.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml...原创 2020-04-08 13:47:43 · 325 阅读 · 0 评论 -
TextBox输入法控制,进入输入框则启用或禁用输入法(ime),禁用后只能输入英文
有的场景需要禁止用户打开ime模式(禁止输入法输入),所以TextBox 支持默认属性配置,效果如下:<Window x:Class="切换输入法.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas...原创 2020-04-01 17:42:51 · 658 阅读 · 0 评论 -
Canvas上批量创建可视对象(DrawingVisual)管理,获取鼠标悬浮图形状态,并控制鼠标右键快捷菜单等...
近期公司有个新的定制,先简要说明下:窗口上有个播放区域,区域上悬浮了很多可视对象(DrawingVisual),全部是动态生成的....现在的需求是在这些矩形框上需要添加右键快捷菜单...需求知道了,懂wpf的都知道,DrawingVisual是极其简约的一个视图对象,是没有属性可以帮到鼠标右键菜单,所以我的思路是,在Canvas上绑定快捷菜单,通过鼠标位置判断当前是否在矩形框里...原创 2020-03-19 11:46:19 · 728 阅读 · 0 评论 -
MVVM_UI和逻辑分离(事件利用命令替换),命令代替事件,命令传递事件参数,附完整demo
近期公司重构了些界面,因为换肤和界面定制的缘故,需要把样式和逻辑分开;所以记录下关键的操作;主要是利用命令代替事件...<Window x:Class="Demo_MVVM.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http...原创 2020-03-19 10:50:53 · 318 阅读 · 0 评论 -
画线缩放、瞳距缩放、Line延长到指定长度,内附效果,源码供应,解压就跑
前言公司项目需要做个画线缩放,我司称之为瞳距缩放,简而言之就是:2张图,从第一张图画一条线,再从第二个图画一条线,第二条线以第一条为基准,延长到一致的长度,并同比缩放图片;文字太枯燥,请先实例图例子1:以皮卡丘为例,我要把路飞的拳头缩放到皮卡丘头那么大例子2:以皮卡丘的基准,缩小路飞,与其身高一致好了,相比看了上面的2个效果图,就明白了大致意思,这个demo可以获得,...原创 2019-12-13 11:52:32 · 272 阅读 · 0 评论 -
wpf 模拟抖音很火的罗盘时钟,附源码,解压就能跑
wpf 模拟抖音很火的罗盘时钟,附源码,解压就能跑 前端时间突然发现,抖音火了个壁纸,就是黑底蕾丝~~~ 错错错,黑底白字的罗盘时钟! 作为程序员的我,也觉得很新颖,所以想空了研究下,这不,空下来了就用wpf,写个属于.net自己的罗盘时钟,目前只实现了时分秒,农历日期等逻辑都是一样的,所以就略了,有兴趣的朋友,可以继续深入! 最开始想直接弄成成exe,方便拷贝,到处...原创 2019-05-10 18:15:48 · 21317 阅读 · 10 评论