RSS 2.0 Feed
2005-08 Entries
摘要:在运行WPF应用程序的时候,如果数据绑定失败,并不会产生异常(throw exception),当然也得不到期待的结果。如何知道有没有发生数据绑定失败?如果有,原因是什么呢? 在调试WPF程序的时候,数据绑定失败的信息会最终通过Trace.WriteLine提供给你。具体地说: 在VS2005下,Start Debugging (F5) 在Output Window,察看数据绑定失败的信息。 以下为一个例子:BindingExpression path error: Cannot find property 'WhatEver' on object 'null'.    BindingExpression:Path='WhatEver'; DataItem='null';         target element is 'Button' (Name='TechEdDemoBtn1'); target property is 'Content' (type Object); 更多WPF数据绑定的讨论,就在Tech Ed课程 --- Windows Presentation Framework (代号Avalon) 360度。...[阅读全文]

posted @ | Feedback (12) | Filed Under [ WPF/SilverLight Tech•Ed ]

摘要:MDA是利用了CLR(公共语言运行时)提供的运行时状态信息从而有利于调试的帮助。MDAs针对一般难于捕获的可能的程序错误生成供参考的信息。使用MDAs有助于发现从托管代码和非托管代码(Unmanaged code,又叫native code,本地代码)转换过程中发生的较难发现的Bug. 在Tech Ed课程---Microsoft Visual Studio 2005:托管代码调试中将演示托管调试助手(MDA)。相关文档,特别是所有MDAs的列表和说明,可以参考MSDN。...[阅读全文]

posted @ | Feedback (13) | Filed Under [ Visual Studio Tech•Ed ]

摘要:在下面的例子中: <Window xmlns=http://schemas.microsoft.com/winfx/avalon/2005     xmlns:x="http://schemas.microsoft.com/winfx/xaml/2005"     >     <Grid>       <Grid.RowDefinitions>         <RowDefinition/>         <RowDefinition/>       </Grid.RowDefinitions>       <Grid.ColumnDefinitions>         <ColumnDefinition/>         <ColumnDefinition/>       </Grid.ColumnDefinitions>       <Button Background="#AA223344" Content ="Button 1" Name="btn1"/>       <Button Background="#AA223344" Grid.Column="1"  Content="Button 2" Name="btn2"/>     </Grid> </Window> Button1和Button2有着相同的Background,至少在Xaml和在屏幕上看起来如此。但是,Under the hood, 我们看到的是2个不同的SolidColorBrush的实例(instance)。如何能够让2个背景共享一个SolidColorBrush以减少working set(工作集)呢?你可以通过代码,但大多数的情况下我们可以使用Resources.加入:       <Grid.Resources>         <SolidColorBrush x:Key="myBrush1" Color="#AA223344"/>       </Grid.Resources> 然后改写Button的Background,使其通过StaticResource或者DynamicResource引用myBrush1:       <Button Background="{StaticResource myBrush1}" Content ="Button 1" Name="btn1"/>       <Button Background="{StaticResource myBrush1}" Grid.Column="1"  Content="Button 2" Name="btn2"/> 在这个简单的示例之中,Button的Background是相对简单的SolidColorBrush。如果使用更复杂的GradientBrush或TileBrush,共享的意义会更大。当然仅从简略Xaml的角度,我们也会在那些情况下使用Resources. 以一道思考题结束:如果不使用Resources,将Button写成 <Button Background="LightYellow" Content ="Button 1" Name="btn1"/> <Button Background="LightYellow" Grid.Column="1"  Content="Button 2" Name="btn2"/>   2个Button会共享同一个SolidColorBrush么?你总是可以通过代码测试的:   if (btn1.Background == btn2.Background) {     System.Diagnostics.Debug.WriteLine("(1,2) Shared"); } else {     System.Diagnostics.Debug.WriteLine("(1,2) Not shared"); }...[阅读全文]

posted @ | Feedback (15) | Filed Under [ WPF/SilverLight 性能|perf Tech•Ed ]

摘要:本期奖品为来自微软网上商店的笔记本包。本期题目发布的时间为2005年9月20日我在Tech Ed上海课程全部结束之后。具体的课程安排将在9月初在Tech Ed 2005中国网站公布。 记忆力好的朋友会指出日期上的一天的变动(从9/19改到9/20了),这是为了保证上海和广州的Tech Ed参加者都有机会听完Tech Ed课程 --- Windows Presentation Framework (代号Avalon) 360度。 本期题目的内容将是若干道单选题。一半以上的内容都是在上述课程中包括的。第一位给出所有题目正确答案的朋友为获奖者。难度不大,欢迎您的参与。请参加Tech Ed课程 --- Windows Presentation Framework (代号Avalon) 360度,更进一步提高答题效率。...[阅读全文]

posted @ | Feedback (13) | Filed Under [ WPF/SilverLight Quiz Tech•Ed ]

摘要:感谢来自合肥微软技术中心社区在MVPs' Blog中对博客堂的链接。最近几天的文字都能看到来自合肥的读者。欢迎你们! 8月25日,微软中国第六家技术中心25日在合肥成立,这是在微软承诺在中国投资10亿元备忘录的最新动态。 而早一天(8月24日)的新闻稿称:在2006财年(2005年7月-2006年6月),公司将在中国招聘约800名新员工。有近300个职位将面向新毕业的大学本科生、硕士研究生、MBA和博士生。 微软中国已经成为除美国本土以外机构设置最全、最大的地区之一。愿与中国信息产业共同成长。...[阅读全文]

posted @ | Feedback (12) | Filed Under [ IT ]

摘要:我经常访问微软US的网页,我有时访问微软中国的网页,但是今天才第一次访问微软UK的网页。虽然美国和英国都是英语国家,微软UK还是提供了大量本地化的材料。 在UK版的主页上现在正在做Your Potential. Our Passion的宣传。点击进入还可以看见电视和印刷品的广告。至少,这个题为Fiona 56K (Low) 300K (High) 的广告是为UK定制的。从学生的服装可以看出。 好像微软中国也在以此主题作电视广告,不知道在哪里可以看到?...[阅读全文]

posted @ | Feedback (9) | Filed Under [ IT Localization | 本地化(汉化) ]

摘要:Colin Han和qiuji都提供了符合2005年Avalon有奖问答系列第三期问题的解答。因为Colin Han的回答更早些也更多的使用了Avalon的DataBinding之功能,所以本次问答的获奖者为Colin Han。 请Colin Han将通讯地址发给我。 希望能在Tech Ed 2005上见到你。 而qiuji,在第二期奖品的基础上,还会因为本次参与得到一个CD夹作为纪念品。 所有奖品会在9月19日后一起寄出。 在Tech Ed课程 --- Windows Presentation Framework (代号Avalon) 360度上,您就将会看到一个类似的ColorPicker之定制控件(Custom Control)的演示和阐述。...[阅读全文]

posted @ | Feedback (11) | Filed Under [ WPF/SilverLight Quiz Tech•Ed ]

摘要:TechTarget中文站已经组建了一支50人的TTFT(TechTarget TechEd Fan Team),要在Tech Ed的三天时间中,“同去,同行,提问,抢答,同进,同退,起立,鼓掌”。 根据我的理解,TTFT参加的是在北京的Tech Ed。凭借其团队效应,看来TTFT能“抢答”到许多问题和礼物! 而能够被选中TTFT的首先条件是需要回答一系列Tech Ed相关的问题。每个问题都配有照片。如诗作“雪”的作者朱敏博士的照片就可以在此看到。照片主要是来自去年的Tech Ed。 我期待着TechTarget中文站在下个月对Tech Ed的报道和反馈。...[阅读全文]

posted @ | Feedback (15) | Filed Under [ Tech•Ed ]

摘要:第二期获奖名单:qiuji和学生一族。 本期奖品为Microsoft IntelliMouse Explorer (微软光学银光鲨)。本期题目的内容将是基于一个已有的WinForm程序的界面和功能,请你用Avalon编程来实现。 请下载此WinForm程序后,先理解其用处,再通过Avalon/Windows Presentation Framework来实现之。 当然Avalon可以使其界面变得很好看更精彩。但是这道题目并不作这样的要求。当然您可以写个Custom Control(自定义的控件)来封装此功能,这里也没有硬性的要求。而在Tech Ed 2005 China上题为Windows Presentation Framework (代号Avalon)360度的讲座上将会以此为例展示控件的代码及其样式(Style)的定义,欢迎参加。 请使用最新的Avalon Build。安装请参考:http://blog.joycode.com/zhanbos/archive/2005/07/28/60453.aspxhttp://blog.joycode.com/zhanbos/archive/2005/08/09/61717.aspx 请将您的答案打包(Zip格式)后寄到AvalonQuiz @ Gmail.Com.有人答出后会在此及时公布。 注意,所有的奖品将在Avalon有奖问答系列全部结束后一起寄出。您需要一个在国内的通讯地址。...[阅读全文]

posted @ | Feedback (24) | Filed Under [ WPF/SilverLight Quiz Tech•Ed ]

摘要: 本期奖品为来自微软公司的T-Shirt。将会有两位朋友获奖。请获奖者将通讯地址发送到 AvalonQuiz @ Gmail.com 的邮箱地址里面。   本次有奖问答的题目是:写出能让XamlPad这个程序Crsah(崩溃)的非法的Xaml例子。首先写出一个符合此要求的朋友立刻获得奖品一。而在有奖问答系列第三期前能够写出的最短小的符合要求的朋友会获得第二个奖品。   关于XamPad,可参考我在四个月前的Blog: 使用XamlPad (http://blog.joycode.com/zhanbos/archive/2005/03/18/46022.aspx)   对于一个Xaml文本中的文法解释错误,XamlPad会在状态行(Status bar)显示错误信息,而且Xaml文本会变成红色。比如说,不含有任何字符的文本,会得到“Root element is missing.”的错误信息。这道题不是寻找这样的非法Xaml例子。   但是,XamlPad并不是非常稳定的。有些Xaml会使其Crash。用户往往看到这样的对话框:XamlPad has encountered a problem and needs to close. We are sorry for the inconvenience. 同样的对话框里面还有两个Button: Debug和Send Error Report.当然如果你的操作系统不是英语版本,其文本应该已经是翻译过的。   请写出能让XamlPad Crash的Xaml例子。第一个写出的朋友自动得到一个奖品,而在有奖问答系列第三期前能够写出的最短小的符合要求的朋友会获得第二个奖品。短小的标准是非空白字符的个数。   所有的奖品将在Avalon有奖问答系列全部结束后一起寄出。您需要一个在国内的通讯地址。   贴子以"现状"提供且没有任何担保也没有授予任何权利...[阅读全文]

posted @ | Feedback (149) | Filed Under [ WPF/SilverLight Quiz ]

摘要:在Avalon正式命名为Windows Presentation Foundation(及其他信息)的留言中,qiuji提问到:   我重新安装了新的WinFX Runtime Components Beta1和WinFX SDK之后,在Visual Studio 2005 beta 2 以及Express Edition里面,在新建项目的时候都不能新建Avalon的项目了,请问如何解决?   的确,从Beta1开始,VS2005下Avalon模板安装不再由WinFX SDK,而是由一个新的组件完成。其名字叫做“对于WinFx的Visual Stuido扩展” (Visual Studio Extensions for WinFX)。   Microsoft Visual Studio Extensions for WinFX Beta 1比WinFX Runtime Components Beta1,和WinFX SDK Beta1稍晚几天才在网上发布。您可以在此处下载。注意在安装好WinFX SDK后再最后才安装此Extension.   现在就可以通过SDK了解更多Avalon/Windows Presentation Foundation编程的知识。欢迎参加8月18日的2005年Avalon有奖问答系列第三期,得到Microsoft IntelliMouse Explorer (微软光学银光鲨)的奖品。   贴子以"现状"提供且没有任何担保也没有授予任何权利  ...[阅读全文]

posted @ | Feedback (9) | Filed Under [ WPF/SilverLight Quiz Tech•Ed ]

摘要:MSBuild之V1版本已基本定形。其自身提供的各项任务在使用上也不会有太大的变化了,并且应该可以满足绝大多数项目的需要。了解每个任务是使用好MSBuild的一个必要条件,因为Task是MSBuild的积木(Building block)。   这样的任务有三十多个。不少是对常用的命令行工具的封装。如Csc Task, Vbc Task, 和Lc Task。还有在Build中常用的任务(现在往往通过批处理文件,脚本文件实现)如Exec Task,MakeDir, RemoveDir,和Touch。以及支持MSBuild的任务如CreateItem和CreateProperty.   所有的参考文档可以在MSDN的MSBuild Task Reference页上看到。注意在ReadLinesFromFile Task页中,其中的例子少了一个 </ReadLinesFromFile> 。   贴子以"现状"提供且没有任何担保也没有授予任何权利...[阅读全文]

posted @ | Feedback (9) | Filed Under [ Tech•Ed MSBuild ]

摘要:忘却了的 静谧的世界 闪烁着银光 在迷失的都市尽头 露宿结束了 我不禁缅怀起童年的时光 那远方 那远方的苍茫 那远方的苍茫暮色中 充蓄的丝丝残光   从天地连接的深渊 升起的白幕 无边无际 霜花飞舞,     纷扬 洒落一声声圣洁的咏叹 这自然的纯情 怎可雕琢   作者朱敏,保留一切权利。...[阅读全文]

posted @ | Feedback (10) | Filed Under [ 只言片语 Tech•Ed ]