随笔分类 -  C#

摘要:在WPF应用程序开发过程中,大数据量的数据展现通常都要考虑性能问题。有下面一种常见的情况:原始数据源数据量很大,但是某一时刻数据容器中的可见元素个数是有限的,剩余大多数元素都处于不可见状态,如果一次性将所有的数据元素都渲染出来则会非常的消耗性能。因而可以考虑只渲染当前可视区域内的元素,当可视区域内的 阅读全文
posted @ 2018-07-06 13:49 致林 阅读(2359) 评论(1) 推荐(0) 编辑
摘要:使用FileVersionInfo获取版本信息 FileVersionInfo相关属性 "https://msdn.microsoft.com/en us/library/system.diagnostics.fileversioninfo(v=vs.110).aspx" .aspx) Proper 阅读全文
posted @ 2018-06-27 08:31 致林 阅读(3404) 评论(0) 推荐(0) 编辑
摘要:1.引言 Unity的生命周期是注册的类型对象的生命周期,而Unity默认情况下会自动帮我们维护好这些对象的生命周期,我们也可以显示配置对象的生命周期,Unity将按照配置自动管理,非常方便,下面就介绍一下 Unity中内置的生命周期管理器。 2.Lifetime Managers生命周期管理 准备 阅读全文
posted @ 2018-05-19 15:16 致林 阅读(254) 评论(0) 推荐(0) 编辑
摘要:获取起始位置 添加全局资源 阅读全文
posted @ 2018-05-04 11:27 致林 阅读(1015) 评论(0) 推荐(0) 编辑
摘要:volatile关键字 volatile是最简单的一种同步方法,当然简单是要付出代价的。它只能在变量一级做同步,volatile的含义就是告诉处理器, 不要将我放入工作内存, 请直接在主存操作我。(【转自www.bitsCN.com 】)因此,当多线程同时访问该变量时,都将直接操作主存,从本质上做到 阅读全文
posted @ 2018-04-25 13:23 致林 阅读(215) 评论(0) 推荐(0) 编辑
摘要:问题:WPF未能加载文件或程序集“System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”或它的某一个依赖项。系统找不到指定的文件。 提示: 原因:C:\Windows\assembly 缺少文件 解决方法: 阅读全文
posted @ 2018-04-24 15:33 致林 阅读(1665) 评论(0) 推荐(0) 编辑
摘要:场景: 代码: 断点调试:结果为false,进入方法体 ??? 更改为: 断点调试:结果为false,不进入方法体,问题解决。 原因: IDE将C#代码编译为CIL(托管代码)->本机代码(JIT编译器)→在托管的CLR(公共语言运行库)运行。 因为Debug和Release平台配置不同,机器执行结 阅读全文
posted @ 2018-04-13 10:11 致林 阅读(1177) 评论(0) 推荐(0) 编辑
摘要:场景:添加ComboBox样式,界面卡死,日志异常文件如下: 原因:将颜色值赋给Brush,错误代码如下: 解决方法:静态引用正确的样式,或者删除该代码。使用DynamicResource时一定要注意同名冲突。 阅读全文
posted @ 2018-04-08 20:15 致林 阅读(3603) 评论(0) 推荐(0) 编辑
摘要:parameter是绑定转换器时传过去的值。 阅读全文
posted @ 2018-04-02 23:01 致林 阅读(1111) 评论(0) 推荐(0) 编辑
摘要:私有构造函数私有构造函数是一种特殊的实例构造函数。它通常用在只包含静态成员的类中。如果类具有一个或多个私有构造函数而没有公共构造函数,则其他类(除嵌套类外)无法创建该类的实例。例如: 声明空构造函数可阻止自动生成默认构造函数。注意,如果您不对构造函数使用访问修饰符,则在默认情况下它仍为私有构造函数。 阅读全文
posted @ 2018-04-02 22:56 致林 阅读(318) 评论(0) 推荐(0) 编辑
摘要:备注:在MVVM模式中,不能直接绑定控件的路由事件到ViewModel,可以将事件绑定后台.cs中的方法,然后再调用ViewModel中的方法。 .cs文件: 阅读全文
posted @ 2018-03-28 18:22 致林 阅读(244) 评论(1) 推荐(0) 编辑
摘要:C#中直接对集合Dictionary进行遍历并修改其中的值,会报错,如下代码就会报错:集合已修改;可能无法执行枚举操作。代码如下 解决方法就是我们可以另外创建一个数组来循环修改集合值,代码如下: private void ForeachDic() { Dictionary<String, Int32 阅读全文
posted @ 2018-03-26 11:36 致林 阅读(6863) 评论(0) 推荐(0) 编辑
摘要:WPF引用xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"后可以设置很多自定义的行为: 当时当我们有一些自定义的需求时,需要自定义行为,例如给每个控件添加一个双击复制文 阅读全文
posted @ 2018-03-22 20:19 致林 阅读(1497) 评论(0) 推荐(0) 编辑
摘要:场景:MVVM模式中数据双向绑定,想实现编辑、保存、撤销操作时也双向绑定了,不能实现撤销操作。 后来通过搜索找到了继承IEditableObject接口实现撤销操作,但是对其中使用了MemberwiseClone还不是很了解。 MemberwiseClone: https://msdn.micros 阅读全文
posted @ 2018-03-15 16:05 致林 阅读(6155) 评论(0) 推荐(1) 编辑
摘要:场景:点击TextBox后弹出Poppup 原理:使用EventTrigger后触发StoryBoard,通过StoryBoard改变其他控件的值。 参考代码: 阅读全文
posted @ 2018-03-15 14:18 致林 阅读(9436) 评论(0) 推荐(0) 编辑
摘要:在WPF应用程序中利用IEditableObject接口实现可撤销编辑的对象 这是我辅导的一个项目开发中的例子,他们是用WPF做界面开发,在学习了如何使用MVVM来实现界面与逻辑的分离,并且很好的数据更新之后,有一个疑问就是,这种双向的数据更新确实很不错,但如果我们希望用户可以撤销修改怎么办呢?其实 阅读全文
posted @ 2018-03-12 14:55 致林 阅读(206) 评论(0) 推荐(0) 编辑
摘要:C# 异步编程Task整理(二)异常捕捉 阅读全文
posted @ 2018-02-06 13:18 致林 阅读(2299) 评论(0) 推荐(0) 编辑
摘要:问题:在DataTomplate中添加一个Button,Button添加Command,但是Command生效。 原因:ItemTemplate的DataContext指代不明,需要改为父类的DataContext。 解决方法:使用RelativeSource关键字,手动指定DataComtext和 阅读全文
posted @ 2018-02-01 13:56 致林 阅读(972) 评论(0) 推荐(0) 编辑
摘要:这篇博文总结下WPF中的拖动,文章内容主要包括: 1.拖动窗口 2.拖动控件 Using Visual Studio 2.1thumb控件 2.2Drag、Drop(不连续,没有中间动画) 2.3拖动一个控件 2.4让一个窗口内的所有(指定的)控件可拖动 3.Expression Blend X实现 阅读全文
posted @ 2018-01-27 16:03 致林 阅读(13712) 评论(3) 推荐(0) 编辑
摘要:volatile 关键字指示一个字段可以由多个同时执行的线程修改。 声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制。 这样可以确保该字段在任何时间呈现的都是最新的值。 volatile 修饰符通常用于由多个线程访问、但不使用 lock 语句对访问进行序列化的字段。 vol 阅读全文
posted @ 2018-01-27 13:59 致林 阅读(2891) 评论(1) 推荐(0) 编辑