随笔分类 -  WPF

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