C#
麦琼辉
这个作者很懒,什么都没留下…
展开
-
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 · 997 阅读 · 0 评论 -
WPF 文本框控件部分字符输入限制
在使用文本框作为用户输入时,有时需要限制部分特殊字符不可输入为此,本文编写了 文本框控件部分字符输入限制行为 代码,仅供参考学习代码如下1.行为public class TextBoxValidStringBehaviour : Behavior<TextBox> { //无效字符集 public object NotValidStrings { get => (object)GetValue原创 2020-06-23 15:06:35 · 1102 阅读 · 0 评论 -
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 · 846 阅读 · 0 评论 -
WPF MVVM Treeview
本文样例通过NuGet获取MvvmLight框架,实现了TreeView的加载,节点添加和节点删除功能,其中节点加载的方式与常见的迭代方式不同,这里使用了字典的方式,提供了一种生成树结构数据对象的方式,如果有遇到TreeView数据加载卡顿的同学,可以考虑尝试使用这种方式。本文主要代码如下(源码可见文章最后),首先定义了树节点接口,包含组成树结构数据的基本属性public inter...原创 2020-03-11 09:35:13 · 795 阅读 · 0 评论 -
WPF列表集合逐步添加效果(UI卡顿优化),ObservableCollection异步加载扩展
看了这篇文章后 ==》WPF中UI线程频繁操作造成卡顿的处理发现使用异步的方式逐步加载,确实有效解决了WPF线程卡顿的问题。由于在WPF中经常会用到ObservableCollection作为列表控件的绑定对象,因此尝试封装了一个异步加载的代码,提供参考学习。代码如下:1.ObservableCollection.Load扩展方法public static class...原创 2020-01-14 21:17:34 · 2331 阅读 · 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 · 4572 阅读 · 0 评论 -
c# 字符串转枚举、通过反射获取枚举值
先上代码 public T Converter<T>(string str) { var typeConverter = System.ComponentModel.TypeDescriptor.GetConverter(typeof(T)); if (typeConverter.CanConvertT...原创 2019-12-06 15:38:57 · 1493 阅读 · 0 评论 -
C#WPF以管理员身份运行
App.xaml 中订阅事件 Startup += CheckAdministrator /// <summary> /// 检测是否以管理员身份运行 /// </summary> private void CheckAdministrator() { ...原创 2018-08-17 16:50:38 · 2626 阅读 · 1 评论