- 博客(105)
- 资源 (67)
- 收藏
- 关注
原创 wpf优化界面开发 ,深入Visibility依赖属性
两个UI都绑定了同一个数据源,第一次呈现到显示器都会卡顿,从可视化树移除后,再次指定Child=自己,可能是遍历元素指定parent,所有没有visibility快,但也不至于慢一说,有微微的300毫秒延迟。再child=null之后,重新new 集合,被移除的元素不会造成卡顿,再次指定Child,只有绑定源没有变化,也不会太卡顿,但是绑定源变化了,会触发重新渲染卡顿。对于不同位置的,同1个数据结构的,展示UI,为了不卡顿,还是把需要的那个展示方式放到可视化树上去,不需要的从可视化树移除,才是本质。
2025-02-28 14:44:59
1002
原创 2025我的鸿蒙开发学习笔记6
specified启动模式为指定实例模式,针对一些特殊场景使用(例如文档应用中每次新建文档希望都能新建一个文档实例,重复打开一个已保存的文档希望打开的都是同一个文档实例)。例如,即时通讯类应用中的消息列表与音视频通话采用不同的UIAbility进行开发,既可以方便地切换任务窗口,又可以实现应用的两个任务窗口在一个屏幕上分屏显示。如果开发者希望在任务视图中看到一个任务,建议使用“一个UIAbility+多个页面”的方式,可以避免不必要的资源加载。是对象间信息传递的载体,可以用于应用组件间的信息传递。
2025-01-05 19:55:21
976
原创 2025我的鸿蒙开发学习笔记5
HAP包可以独立安装和运行,是应用安装的基本单位,一个应用中可以包含一个或多个HAP包,具体包含如下两种类型。我理解就是从大到小,还有通过各种配置,完成1个项目的开发,重点了解UIAbility声明周期,类似安卓的窗口的生命周期,类似wpf的MVVM,这里一句话讲不完,后面实战自己领悟,目前知道就行。每个应用中至少包含一个.hap文件,可能包含若干个.hsp文件、也可能不含,一个应用中的所有.hap与.hsp文件合在一起称为。这个文件一共有多个,最外面的是项目级别的依赖管理配置,每个模块下也可以存在。
2025-01-05 18:48:51
868
原创 2025我的鸿蒙开发学习笔记4
构造函数属性get set,protected子类才能访问ArkTS中重写父类方法,父类不需要像C#那种定义虚方法或抽象方法接口可以继承接口,接口中定义的没函数时候可以直接字面量的方式使用接口字面量使用很容易推导类型,去掉了new关键字,直接初始化也可以数组中使用实现 implements代码拆分多个ets文件比如定义个Person类Person.ets文件,其他文件想使用,可以使用export导出,可以导出类,变量和函数使用的地方导入,与导入使用as关键字别名Inde
2025-01-04 18:34:49
1052
原创 2025我的鸿蒙开发学习笔记2
Title({ context: 'MyTitle' }) //在该片段中声明将要预览的组件Title,以及该组件依赖的入参 {context: 'MyTitle'}有些代码不需要格式化,可以在代码用//@formatter:off”和 //@formatter:on包裹起来,这样这段代码格式化就不生效了。deviceType: 'phone', //指定当前组件预览渲染的设备类型,默认为Phone。locale: 'zh_CN', //预览设备的语言,如zh_CN、en_US等。
2025-01-02 18:59:08
1011
原创 2025我的鸿蒙开发学习笔记1
工程级配置信息,包括签名signingConfigs、产品配置products等。其中products中可配置当前运行环境,默认为HarmonyOS。第一种右键pages文件夹,添加ArkTSFile,需要手动配置路由,也可以直接Empty Page不需要手动配置。保持默认,创建完项目,点击设备管理器,创建你的模拟器(手机,折叠屏,平板),运行项目就会安装到虚拟机。接下来需要引入自带的库,比如路由,日志,给按钮增加onClick。修改使用行列,和wpf的行列方向是相反的。目前5.0 release版本。
2024-12-30 22:08:48
904
原创 HarmonyOS开发-问题记录
然后新建模拟器,给了8G内存,8核CPU,重新启动了下。我的模拟器启动失败,最后镂空显示个手机框,无法使用。管理员方式cmd输入。
2024-02-22 14:05:20
303
原创 我的高中数学笔记
有点像数据库的表关系,有点像分类y=kx+b由元素到集合,由集合关系推出关系,引出 定义域和值域单射,满射,有单有满引出 f(x)=.... 关系式,分段函数y = kx+b y=1/x y=x的平方 等对应法则 x的范围 定义域, 决定值域哪些列举法,解析式法, 图像法定义域和规则相同的,就是同一个函数常用的函数的定义域复习。
2023-11-24 23:54:38
329
1
原创 [Aaronyang] 写给自己的WPF4.5 笔记8[复杂数据处理三步曲,数据视图精讲]
接下来,我们需要在xaml中定义个视图,关于 CollectionViewSource有2个属性:View封装了视图对象,Source封装了数据源,还有其他的属性,例如排序,分组,过滤事件。在上篇博客中,我们说到了 binding的二次处理,其中有个思路就是 值转换器,WPF的分组中提供了Converter参数,所以我们可以试着新建一个实现IValueConverter类,以达到产生很多组名,就好比每个视图中的每个对象有了新属性组名字,这样listbox指定了分组样式后就知道了如何进行分组,从而显示了。
2023-11-24 23:54:14
287
原创 [Aaronyang] 写给自己的WPF4.5 笔记6[大数据加载与WPF4.5 验证体系详解 2/3]
普通的加载真正创建了1万个ComboBoxItem对象,所以很占内存,而虚拟化,就是他对数据进行了分页,每次只创建那么多你可见的数据给你,所以内存占用的少,而有的人自己实现个虚拟面板,就是滚动时候,删除上面的元素,增加新元素。像实时监控曲线就是这个思路,它不停地在图标控件画线移动,就是就是固定长度的线条数,超过长度,就会删掉前面的点,从而减少内存占用。这个说法也是应该的,因为绑定的属性的Age,界面的Age变了,才能作用到源,也就是对象的Age,这样才能触发验证的代码,所以Mode的前提是必须的。
2023-11-24 23:54:04
301
原创 [Aaronyang] 写给自己的WPF4.5 笔记2[依赖属性]
人生的意义不在于拿一手好牌,而在于打好一手坏牌 因为以前的经验,所以继承FrameworkElement,我就简写继承FWE ,继承UIElement就写继承UIE 后面重头戏就是blend中的开发,不想写的千篇一律。个人感觉,下面的这张图标比较重要,它或许有些帮助。我看东西只看分析出原理,你就可以拓三返一。Tip: 只能为依赖对象(继承自DependencyObject的类)添加依赖属性。放心的事,wpf大部分都间接继承了。依赖属性提高的不仅仅是性能。插曲:如果想更进一步了解.net framework,
2023-11-24 23:53:44
181
原创 [Aaronyang] 写给自己的WPF4.5 笔记1[布局]
TextBlock Margin="3" Text="测试一段文字哈哈哈哈哈哈哈哈哈啊哈哈哈哈测试一段文字哈哈哈哈哈哈哈哈哈啊哈哈哈哈测试一段文字哈哈哈哈哈哈哈哈哈啊哈哈哈哈测试一段文字哈哈哈哈哈哈哈哈哈啊哈哈哈哈测试一段文字哈哈哈哈哈哈哈哈哈啊哈哈哈哈测试一段文字哈哈哈哈哈哈哈哈哈啊哈哈哈哈测试一段文字哈哈哈哈哈哈哈哈哈啊哈哈哈哈测试一段文字哈哈哈哈哈哈哈哈哈啊哈哈哈哈" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="3"></TextBlock>
2023-11-24 23:53:30
106
原创 [Aaronyang]写给自己的WPF4.5 笔记3 [MenuItem中的icon]
敢于尝试,就等于你已经向成功迈出了第一步=============时隔两年后再看WPF==========因为以前的经验,所以继承FrameworkElement,我就简写继承FWE ,继承UIElement就写继承UIE后面重头戏就是blend中的开发,不想写的千篇一律。如果期待,左侧有关注按钮。
2023-11-24 23:53:19
848
1
原创 [AaronYang]C#人爱学不学22 - 线程同步和锁
多个线程同时访问共享数据的时候,线程同步能够防止线程损坏。之所以强调同时,是因为线程同步问题其实就是访问时间问题。如果有些数据会被多个线程访问,但是这几个线程访问的时间都是错开的,不会同时接触到数据,那完全就用不到线程同步。线程同步会遇到几个问题,所以能避免使用就别用:使用繁琐,容易出错:你需要清楚的明白哪些数据可能是会被同时访问的,然后用一个锁锁住它,确保一次只有一个线程能够访问。如果任何一块数据被漏了,那就会有问题。没法确定你所有用锁的方式一定正确:只能靠测试和经验。
2023-11-24 23:53:05
142
原创 [Aaronyang] 写给自己的WPF4.5 笔记9[复杂数据处理三步曲,数据展示ListView]
我们新建Themes,然后新建generic.xaml文件,添加下面的样式,在AView.cs中查找ResourceId为AView的,即DefaultStyleKey对象,使用TargetType指定这个样式使用者是ListView,继承ListBox的样式。运行项目后,用户如果不会操作就会出现虚线框,所以我们需要定义Item的模板,我们在上面的样式上写。ay总结:一句话,控件提供者,给用户提供了 约定资源,相当于资源接口,你可以通过ComponentResourceKey找到该位置,并填写它,覆盖它。
2023-11-24 23:52:32
158
原创 ay wpf avalonedit记录
官方示例<RuleSet><RuleSet></RuleSet></Span>-- ... -->| \b([eE][+-]?[0-9]+)?</Rule></RuleSet>给颜色取名字,下方定义规则下面定义个lua的高亮规则新建个txt,改名字lua.xshd 文件类型改为 嵌入的资源,你也可以是资源,主要嵌入到程序还能读取xml内容</RuleSet><RuleSet><RuleSet></RuleSet></Span>
2023-11-24 23:52:10
321
原创 [AaronYang]C#人爱学不学23 -websocket-sharp
新建文件夹,git cloneMIT许可websocket-sharp 支持:RFC 6455WebSocket 客户端和服务器Per-message压缩扩展安全连接HTTP 身份验证查询字符串、Origin 标头和 Cookie通过 HTTP 代理服务器连接.NET Framework 3.5 或更高版本(包括兼容环境,例如 Mono)新建2个wpf项目nuget引用示例1创建server端,方便测试。
2023-11-22 09:12:07
297
原创 [AaronYang]C#人爱学不学21- 一些锁
为什么说它是轻量级呢?因为它仅对整形数据(即int类型,long也行)进行同步。具体使用如下表:Interlocked.Increment(ref value)数值加一(原子性操作)Interlocked.Decrement(ref value)数值减一(原子性操作)Interlocked.Exchange(ref value1, value2)交换:把值2赋给值1;返回新值。
2023-11-22 09:10:49
95
原创 ay maui in net6 第13天 数据绑定基础
平台MAUIWPF字体颜色TextColorForeground垂直对齐字体加粗/斜体等FontWeight和FontStyle水平对齐背景色BackgroundLabel的TextAlignmentButton按钮边框厚度旋转自带Rotation配合Transform依赖属性边框颜色环境上下文。
2023-11-22 09:10:35
246
原创 ay maui in net6 第12天 基本xaml
..这样使用时候,可以省去 <ContentPage.Content>...平台MAUIWPF字体颜色TextColorForeground垂直对齐字体加粗/斜体等FontWeight和FontStyle水平对齐背景色BackgroundLabel的TextAlignmentButton按钮边框厚度旋转自带Rotation配合Transform依赖属性边框颜色。
2023-11-22 09:10:23
130
原创 ay maui in net6 第11天 入门
新建的vs2022 preview自带maui模板了,这里假设你是从wpf转行过来学习的,所以有些地方觉得简单的,我就不记笔记了项目结构=========AppShell.xaml是个Page类型,这里显示,内部放入了 MainPage的子内容<Shell</Shell>这里有个Route属性,我以为是写页面相对路径的,看来不是,后面再看看干啥用的我尝试新建个Views文件夹,把MainPage.xaml拖进去了这里真的等了一段时间,不知道是不是vs的问题。
2023-11-22 09:10:12
90
原创 Ay写给2022的纯xaml [wpf4net5] - Caliburn Micro-导航服务传参[9/16]
下面的例子:从一个页面打开另一个页面, 并给第二个页面传递参数值。
2023-11-22 09:09:59
190
原创 Ay写给2022的纯xaml [wpf4net5] - Caliburn Micro-Bubbling[8/16]
在一个列表控件中,每个数据模板中 比如有按钮,单击事件绑定vm的命令,一般都是找到最根部的datacontext,那么在cm中有更简单的方式如何将动作从子视图模型冒泡到父视图。
2023-11-22 09:09:45
93
原创 [AY]写给自己的Kettle笔记3
这里都是基本操作,不要嫌弃太简单了,后面配合其他的配合其他的操作,这块都跳过了。外侧运行就行了,这样第二个库中的UserInfo表有数据了。同样的,作业可以嵌套作业和转换,那么就可以无限嵌套了。按住shift 从表输入 拖到 表输出 建立环节关系。看到这,想到quartz.net了。拖个转换,可以指定转换文件。这样我们可以控制一个流程。右侧拖入 表输入 表输出。双击作业,选择个作业文件。他可以表示一个过程了。
2023-11-22 09:09:29
100
原创 [AY]写给自己的Kettle笔记2
【Simple-jndi】存放Kettle使用JNDI方式连接数据源方式的文件存放目录。DB连接:显示当前transformation中的数据库连接,每一个transformation的数据库连接都需要单独配置。【Lib】存放Kettle所使用到的第三方jar包。【Plugins】存放Kettle自定义插件时,需要把自定义好的插件打成jar放在此目录。这个箭头是蓝色的,不是禁用(灰色的)时候,下个环节才能从输入流中获得信息。这里列出的是 转换 中可以调用的环节列表,可以鼠标拖动的方式 添加环节。
2023-11-22 09:09:19
132
原创 [AY]写给自己的Kettle笔记1
在Oracle数据库中不能新建一个schema,要想创建一个schema,只能通过创建一个用户的方法解决,在创建一个用户的同时为这个用户创建一个与用户名同名的schem并作为该用户的缺省shcema。如果把database看作是一个仓库,仓库很多房间(schema),一个schema代表一个房间,table可以看作是每个房间中的储物柜,user是每个schema的主人,有操作数据库中每个房间的权利,就是说每个数据库映射的user有每个schema(房间)的钥匙。试过javahome的配置方式,会出错。
2023-11-22 09:09:04
63
原创 [AaronYang]C#人爱学不学20-MEF
4.0 以后引入了MEF应用/插件均使用约定好的协议(接口)进行开发。系统将自动扫描指定文件夹,并按协议自动导入。项目添加System.ComponentModel.Composition.dll在任意地方Export导出一个类型,在任意地方可以导入 Import类型,如上,我们使得接口具有示例了。using ILog;set;pro.Run();void Run()CurrentLogService.Log("MEF日志测试通过");
2023-11-22 09:08:51
142
原创 [AaronYang]C#人爱学不学19-Castle.NET 4.0
Console.WriteLine("打开手机标记,开始送单...");Console.WriteLine("kfc商家发布一个送餐任务");Console.WriteLine("KFC的外卖,开始派送");Console.WriteLine("KFC的外卖,派送了");Console.WriteLine("有骑手接受派单任务了");为什么必学,他是一个IOC,也是目前很好的一个动态代理技术,实现AOP拦截。Console.WriteLine("结束派送");这才是真正干净的代理模式啊。
2023-11-22 09:08:28
41
原创 [AaronYang]C#人爱学不学16-创建快捷方式
MsiHelper.CreateDesktopLink(你的文本, string.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, AppDomain.CurrentDomain.FriendlyName), string.Format("{0}", AppDomain.CurrentDomain.BaseDirectory), 启动参数, desc);
2023-11-22 09:08:14
192
原创 [AaronYang]C#人爱学不学15- Semphore
Console.WriteLine(thrd.Name + "正在等待一个许可证……Console.WriteLine(thrd.Name + "申请到许可证……Console.WriteLine(thrd.Name + " 释放许可证……//创建一个可授权2个许可证的信号量,且初始值为2。// //这就是说除了调用该信号量的线程都将被阻塞。// //我设置一个最大允许5个线程允许的信号量。// //并将它的计数器的初始值设为0。
2023-11-22 09:07:58
55
原创 [Aaronyang] 写给自己的WPF4.5 失传的秘籍[多扩展显示器编程]
核心代码在DEMO里面,自己看吧(发布时间:2015年1月5日,资源删除时间2015年1月10日,需要下载的赶快下吧)需求:比如A主机,打开4个窗体,外面接了3个显示器,点击程序的按钮,直接其他3个窗体,分别最大化显示在其他的显示器上。1. 你只要理解 所有的屏幕拓展后,会是一个大屏幕,每个屏幕都是一个对象,根据这个对象就可以拿到 每个显示器的信息。获得显示器对象,然后在这个显示器里面show,哎~AaronYang告诉你,这可是一个不归路!餐饮收费系统,网吧系统等。3个窗体,一个主屏幕的窗体,用于操作。
2023-11-22 09:07:45
101
原创 Ay写给2022的纯xaml [wpf4net5] - Caliburn Micro-Conductor[7/16]
通过发布订阅的方式 在VM之间 传递界面与界面的操作在多个需要传递操作的vm中也需要加。
2023-11-21 09:07:14
135
原创 Ay写给2022的纯xaml [wpf4net5] - Caliburn Micro-EventAggregation[6/16]
通过发布订阅的方式 在VM之间 传递界面与界面的操作在多个需要传递操作的vm中也需要加。
2023-11-21 09:06:39
77
原创 Ay写给2022的纯xaml [wpf4net5] - Caliburn Micro-Execute 异步里面更新界面UI[5/16]
新建 ExecuteViewModel添加ExecuteView.xaml和ExecuteView.xaml.cs添加2个按钮<Grid><Button x:Name="StartUnSafeBackgroundWork" Content="非安全更新"/><Button x:Name="StartSafeBackgroundWork" Content="使用CM的Execute.OnUIThread"/></Grid></Page>
2023-11-21 09:06:24
109
原创 [Aaronyang]写给自己的WPF4.5 笔记5[数据绑定1/3]
下载教你如何在vs2013中不安装Mssql数据库,使用了Sqlserver Compact,以及全部ef操作这个数据库。教你从后台取数据,怎么绑定前台数据,并通过wpf的方式更新界面数据,ObservableCollection和属性通知教你如何绑定集合的数据,教你如何关联的前台绑定集合数据教你使用前台绑定radiobutton和简单的值转换器,字符格式化器教你使用了AY自己亲自制作的AyRadiobuttonList,此控件还在拓展,性能已经最大化的优化了,暂不支持虚拟化加载大数据。
2023-11-21 09:06:09
139
[茗洋]MyNPOI_V1.2
2013-06-03
ASPNET MVC4 In Action 第二章代码
2013-04-01
JavaScript深入【表达式和运算符(上集)】相关代码和图片
2013-03-24
Sublime 2217 汉化 破解版本
2013-03-22
ASPNET MVC4 In Action 第一章代码
2013-01-31
CKEditor3.6.4+CKFinder2.3(破解) asp.net版本和教程
2012-10-29
(兼容XP系统)多线程异步编程带进度条的利用Excel模版报表转换
2012-09-16
多线程异步编程带进度条的利用Excel模版报表转换DEMO
2012-09-01
杨洋疯狂C#第1期_winform鼠标篇
2012-07-13
杨洋疯狂C#第一期 Jquery相关代码
2012-07-12
杨洋疯狂C#第1期_C#基础知识代码
2012-06-10
Photoshop Ipad原创制作素材
2012-06-01
设计模式-简单工厂模式《搭积木》
2012-05-24
sqlserver 实体类代码生成器,自己做的
2012-05-13
惠客优惠券打印系统(OOP思想,前后台,源代码)
2012-02-02
IT字符转换解码器等(包含源代码)
2012-02-02
AjaxControlToolkit.Binary.NET4 和3.5 和2.0
2012-01-04
北大青鸟 C#酒店管理系统 源代码 功能大大升级
2011-12-31
angela_0.7.1 JQueryUI框架
2011-11-19
MyNPOI_V1.2
2013-06-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人