随笔分类 - WPF
WinFX
摘要:本目录持续更新中,每写完一章都会添加到Blog以及这个目录。估计本系列会在20章左右。
阅读全文
摘要:EnumerateSubsetOfPrintQueues shows how to use the EnumeratedPrintQueueTypes enumeration to get a subset of available print queues 这个Sample倒也简单,只有一个Main函数,讲的是EnumeratedPrintQueueTypes枚举,通过其两个值L...
阅读全文
摘要:PrintDialog This sample illustrates how to create an instance of a simple PrintDialog and then display it. The sample uses both Extensible Application Markup Language (XAML) and procedural code. ...
阅读全文
摘要:ds
阅读全文
摘要:1.对象数据源 之前绑定的都是对象数据源, 2.XML数据源 3.自定义数据源
阅读全文
摘要:本节介绍如何绑定一数据集合。 1.CurrentItem 将上节的Person聚集为泛型People类: public class People : List { } XAML文件相应为: Name...
阅读全文
摘要:WPF的数据绑定机制 既保证了数据的同步性,又使得数据类型的相应转换正常进行。如下所示: 左边是XMAL的UI元素,右边是cs程序中的Object,中间是数据绑定层,将左右两层连接起来。 那么, 两个层次的语法如下: UI层,有3种表示方式: 方法1: Code highlighting produced by Actipro CodeHighlighter (freeware) h...
阅读全文
摘要:这一节是对.NET2.0事件绑定技术的总结。 .NET事件绑定是基于Observer模式的,关于这部分见我的《CLR笔记10.事件》。在.NET2.0中,对Observer进行了一次包装,可以引用System.Component命名空间,实现INotifyPropertyChanged接口,可以获得事件PropertyChanged,以及PropertyChangedEventArgs。于...
阅读全文
摘要:2.9讲的是,如果内部设定超过容器大小,怎么办?StackPanel会裁剪越界部分DockPanel和Grid会智能判断,从而决定换行。 2.10 自定义布局容器自定义容器要实现两个方法MeasureOverride和ArrangeOverride,并保证遍历其下的所有子控件,使他们都执行Measure和Arrange方法。 using System;using System.Windows.C...
阅读全文
摘要:这一节老没意思,啰里啰唆的尽是些HTML的属性,挑几个好玩的List出来,备忘:Padding与Margin的区别:Margin指控件边界与外界的间隙;Padding指的是控件内部内容与控件边界的间隙。两者可以同时使用。 不再支持 RenderTransform= "scale 3"改为: 同理RenderTransform RenderTransform与Layou...
阅读全文
摘要:这一节介绍的是文字布局的几个控件:1.TextBlock 最基本的文字控件可以配置5个Font属性。TextWraping属性,"Wrap"是换行,NoWrap是不换行(原书有误,在此更正)。TextBlock控件内可以放置很多控件,不光是文字。 Split across multiple lines AccessText,Bold,Hyperlink,Ital...
阅读全文
摘要:在Canvas外面包一层ViewBox,可以使Canvas内的控件填充整个ViewBox,并随着ViewBox的大小变化而同步变化,这是因为ViewBox默认属性Stretch=“Uniform”。Stretch有四个属性:Uniform,Fill(为了填充甚至会拉伸),None(无效果,相当于没有用ViewBox),UniformToFill(如果Canvas大于ViewBox大小则裁剪)老实说...
阅读全文
摘要:Canvas是最精确的布局容器——绝对定位,此书作者不建议使用,以为控件的大小一般会随着内部字体图片的动态生成而自动变化,所以使用前三种布局是最好的选择,在这一点上,我也持同样意见。Canvas使用Top/Bottom属性控制距离顶部/底部的高度;使用Left/Right属性控制距离左/右的距离。有趣的是,调整Form的大小,第二个TextBlock的位置会相应变化,但和底部以及右边的距离是不变的...
阅读全文
摘要:资源的另一个用途是样式设置: Name: Nick: 代码很容易懂,记住用Setter定义每一个样式,注意指定了x:Key,然后哪个控件需要应用样式,就在控件里面指定Style;如果不指定x:Key,则所有控件都使用这个样式(当然也不会给控件设置Style="{StaticResource mySty...
阅读全文
摘要:第一章已经简单介绍过这个容器,这一节详细介绍。Grid一般是用表格(Grid.Row 和Grid.Column )的,比StackPanel更细致一些,但是,这么玩很麻烦,先横着竖着定义一大堆,然后把元素指定其表格位置,即插入数据,和我们平常习惯的HTML表格不太一样,甚至更麻烦了。原因如下:Html空单元格要放占位符,这样会放很多;Grid玩法则是用什么元素就指定单元格位置,不用的单元格默认是空...
阅读全文
摘要:StackPanel用于小规模的排版布局,比如说一个局部下几个textbox和Button啦。Orientation属性有Vertical和Horizontal两种选择,决定布局方向。所有控件都有Margin属性,用来使控件之间不那么拥挤,Margin随Vertical和Horizontal的不同而所加的空白方向不同,当然Margin=“3,3”意味着同时在两个方向上有空白。HorizontalA...
阅读全文
摘要:读完了这一节,发现DockPanel就是过去winform中的Dock属性。原来的Dock属性是子控件设置,而其父亲级别不用设置。现在WPF改为在父亲级别抽象出一个DockPanel,然后设置其下子控件的Dock属性。 Left Right Top Bottom Fill DockPanel有一个LastChildFill属性,一般设置为true,给最后一个元素使用...
阅读全文
摘要:书中的代码语法过时了,改写为以下(测试通过): ...
阅读全文
摘要:数了数framework3.0 SDK中的WPF Sample,一共有28类422个,突然有了一个大胆的想法,就是把这些例子全部翻译出来,并且配上自己的学习心得,争取1-2月完成,这一篇文章会随时更新,随着我对WPF的理解程度。
阅读全文
摘要:终于,看明白了,已经是凌晨1:39分。这本书这一节写得实在是不好,一个local搞得我糊里糊涂,于是,准备按照他的思路,按照我的理解,改写一遍,包括源代码。首先,这句话WPF新版本已经不用了:,这里DataBindingDemo是例子的命名空间。然后Window标签中这个属性设置xmlns:local="local"——改为:xmlns:local="clr-namespace:DataBindi...
阅读全文