- 博客(10)
- 资源 (16)
- 问答 (2)
- 收藏
- 关注
原创 WPF MVVM Treeview 节点替换(编辑)
对自己写的树控件WPF MVVM TreeView做了个延伸,原来只有添加和删除节点的方法,现在再新增一个节点替换的方法,即节点的编辑,代码如下 //只替换当前新的节点,不替换子节点 public virtual void Replace(string oldNodeId, TNode newNode) { if (TreeData == null || !string.Equals(oldNodeId, newNode?.TreeId) |..
2020-12-01 11:16:28
1070
原创 WPF 文本框控件部分字符输入限制
在使用文本框作为用户输入时,有时需要限制部分特殊字符不可输入为此,本文编写了 文本框控件部分字符输入限制行为 代码,仅供参考学习代码如下1.行为public class TextBoxValidStringBehaviour : Behavior<TextBox> { //无效字符集 public object NotValidStrings { get => (object)GetValue
2020-06-23 15:06:35
1157
原创 c#集合中根据某个字段排除重复项
扩展方法 public static class DistinctExtension { public static IEnumerable<TSource> DistinctBy<TSource, TKey>(this IEnumerable<TSource> source, System.Func<TSource, TKe...
2020-04-10 09:04:02
887
原创 WPF 获取屏幕缩放比例
首先,这里获取屏幕缩放比例的思路是 屏幕缩放比例 = 屏幕逻辑高度 / 屏幕实际高度其中屏幕的实际高度可直接通过 SystemParameters.PrimaryScreenHeight 获得;而对于屏幕逻辑高度,由于在WPF中,不像winform那样可以通过System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height直接获取,且在W...
2020-03-13 15:12:35
3442
原创 WPF MVVM Treeview
本文样例通过NuGet获取MvvmLight框架,实现了TreeView的加载,节点添加和节点删除功能,其中节点加载的方式与常见的迭代方式不同,这里使用了字典的方式,提供了一种生成树结构数据对象的方式,如果有遇到TreeView数据加载卡顿的同学,可以考虑尝试使用这种方式。本文主要代码如下(源码可见文章最后),首先定义了树节点接口,包含组成树结构数据的基本属性public inter...
2020-03-11 09:35:13
866
原创 WPF列表集合逐步添加效果(UI卡顿优化),ObservableCollection异步加载扩展
看了这篇文章后 ==》WPF中UI线程频繁操作造成卡顿的处理发现使用异步的方式逐步加载,确实有效解决了WPF线程卡顿的问题。由于在WPF中经常会用到ObservableCollection作为列表控件的绑定对象,因此尝试封装了一个异步加载的代码,提供参考学习。代码如下:1.ObservableCollection.Load扩展方法public static class...
2020-01-14 21:17:34
2465
3
原创 c#获取当前进程使用内存
public static string GetMemory() { Process proc = Process.GetCurrentProcess(); long b = proc.PrivateMemorySize64; for (int i = 0; i < 2; i++) ...
2019-12-11 20:33:05
4713
原创 c# 字符串转枚举、通过反射获取枚举值
先上代码 public T Converter<T>(string str) { var typeConverter = System.ComponentModel.TypeDescriptor.GetConverter(typeof(T)); if (typeConverter.CanConvertT...
2019-12-06 15:38:57
1564
原创 C#WPF以管理员身份运行
App.xaml 中订阅事件 Startup += CheckAdministrator /// <summary> /// 检测是否以管理员身份运行 /// </summary> private void CheckAdministrator() { ...
2018-08-17 16:50:38
2684
1
WPF MulitCheckComboBox 多选下拉控件
2020-06-23
.net core 独立部署脚本(生成单个exe)
2020-06-15
ObservableCollection异步加载扩展
2020-01-14
c++TCPDemo
2018-08-17
c#/WPF-VLC播放器demo 32/64位
2018-07-08
c#共享内存demo-两个进程间通过共享内存实现通信
2018-02-18
vs2019断点修改代码
2021-10-08
vs2019断点修改代码
2021-09-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人