摘要:
关于布局的规则 控件的布局应该由容器来决定,而不是通过自身使用margin之类的东西来控制位置避免为控件定义明确的尺寸,但应该限定一个可接受的最大及最小尺寸不要将界面元素设置成与屏幕坐标相关容器应将有效控件共享给其子控件 WPF不使用物理像素设置尺寸,而使用设备无关单位,该设备无关单位被定义为1/9... 阅读全文
摘要:
关于布局的规则 控件的布局应该由容器来决定,而不是通过自身使用margin之类的东西来控制位置避免为控件定义明确的尺寸,但应该限定一个可接受的最大及最小尺寸不要将界面元素设置成与屏幕坐标相关容器应将有效控件共享给其子控件 WPF不使用物理像素设置尺寸,而使用设备无关单位,该设备无关单位被定义为1/9... 阅读全文
摘要:
xmlns 在xml中专门用于声明名字控件,xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 是WPF的核心名字空间,它包含所有WPF类,包括用于构建用户界面的控件 xmlns:x="http://schemas.m... 阅读全文
摘要:
Python的两种运行模式: 命令行模式,运行python,然后在命令行中输入python命令 程序脚本, 在命令行中输入 ./hello.py运行 Python是解释形语言,但可以通过工具打包成二进制可执行文件 指定Python文件的编码方式:#coding:utf-8 注释符为#,多行注释以'''开始,以'''结束 变量不需要声明类型,可以自动推导,type()函数可以获得变量... 阅读全文
摘要:
自定义Panel控件的布局过程分两步:计算子元素尺寸和安排子元素布局,分别对应如下函数: MeasureOverride(Size contraint):参数constraint表示所有子元素大小都要在contraint的范围内,调用每个子元素的Measure(Size size)方法确定子元素的s... 阅读全文
摘要:
委托是一个定义签名的类型,即方法的返回值类型和参数列表类型。可以使用委托类型来声明一个变量,该变量可以引用与委托签名相同的所有方法。自定义的委托类编译后可以看到都继承了它继承了System.MulticastDelegate类 委托定义返回值一般都是void,因为委托变量可以提供多个订阅者注册,如果... 阅读全文
摘要:
CLR垃圾回收器采用代(generation)机制,目前支持0、1、2三代:新构造添加到堆的对象称为第0代。经过对第0代的垃圾回收之后,第0代的幸存者被提升至第1代。经过对第1代的垃圾回收之后,第一代的幸存者被提升至第2代CLR初始化时,会为每一代选择预算。第0代的预算约为256K,第1代预算约2... 阅读全文
摘要:
lock 关键字可以用来确保代码块完成运行,提供给 lock 关键字的参数必须为基于引用类型的对象,该对象用来定义锁的范围。Lock关键字是使用Monitor类实现的使用 lock 关键字通常比直接使用 Monitor 类更可取,一方面是因为 lock 更简洁,另一方面是因为 lock 确保了即使受... 阅读全文
摘要:
ref与out之间的区别:ref 传的参数必须要先初始化,out不必ref传进去的参数在函数内部可以直接使用,而out不可out必须在离开函数前赋值 装箱: 对值类型在堆中分配一个对象实例,并将该值复制到新的对象中。按三步进行。第一步:新分配托管堆内存(大小为值类型实例大小加上一个方法表指针和一个SyncBlockIndex),SyncBlockIndex作用是指示线程同步状态第二步:将值类型... 阅读全文
摘要:
基本概念:Managed Extensibility Framework 或 MEF 是一个用于创建可扩展的轻型应用程序的库,在.NET 4.0发布Container:容器,使用CompositionContainer类表示,使用目录提供的部件执行组合操作,即将导入绑定到导出Catalog:目录,存... 阅读全文
摘要:
View:界面,负责与用户交互,接受用户输入,把数据展现给用户,不应包含要Unit test的代码 ViewModel:负责收集需要绑定的数据和命令,处理显示逻辑,聚合(has-a)Model对象或者对Model数据进行加工,如通过添加额外的属性,这些属性值需要根据Model的属性加工或计算而来,以让View绑定进行显示。此外还可以在ViewModel中对数据的有效性和一致性进行处理,通过Lo... 阅读全文
|