孙展波:实现.NET无限潜力

Realize .NET Potential (中文版)
随笔 - 430, 评论 - 12203, 引用 - 54

导航

关于

贴子以"现状"提供且没有任何担保也没有授予任何权利。
计数器(2005/12/8起).点击阅读我的Blog In English

标签

每月存档

最新留言

广告

【第1页/共2页,16条】
首页
前页
1

细节,您注意到了么(3):今年的Tech Ed China主题是什么?

先看这个新闻稿:微软技术大会9月中国召开 首次增加“内幕”交流
再看Tech Ed首页明确提出的主题:创新,远见,分享,协作。
您就可能发现对主题描述的不同:“远见”取代了“内幕”。

应该是最初的主题使用的是内幕,但是不久就启用现在的说法了。在Tech Ed 2005短片中,用的还是内幕。

以我的Tech Ed课程 --- Windows Presentation Framework (代号Avalon) 360度来说,有不少现在称为内幕的内容,但是等到课程结束之后,我希望所谓的内幕能带给你远见。内幕一公开就不再是内幕了,而远见则长久有益。这或许是主题变化的原因。

如果您特别留意细节的话,还可以在Tech Ed 2005短片中看到我在去年Tech Ed课程上的一帧画面。

posted on 2005-08-31 06:24:00 by zhanbos  评论(17) 阅读(3583)

Tip:使用Trace信息,调试WPF数据绑定失败的原因

在运行WPF应用程序的时候,如果数据绑定失败,并不会产生异常(throw exception),当然也得不到期待的结果。如何知道有没有发生数据绑定失败?如果有,原因是什么呢?

在调试WPF程序的时候,数据绑定失败的信息会最终通过Trace.WriteLine提供给你。具体地说:

  1. 在VS2005下,Start Debugging (F5)
  2. 在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 on 2005-08-31 03:03:00 by zhanbos  评论(12) 阅读(2731)

MDAs: Managed Debugging Assistants (托管调试助手)

MDA是利用了CLR(公共语言运行时)提供的运行时状态信息从而有利于调试的帮助。MDAs针对一般难于捕获的可能的程序错误生成供参考的信息。使用MDAs有助于发现从托管代码和非托管代码(Unmanaged code,又叫native code,本地代码)转换过程中发生的较难发现的Bug.

Tech Ed课程---Microsoft Visual Studio 2005:托管代码调试中将演示托管调试助手(MDA)。相关文档,特别是所有MDAs的列表和说明,可以参考MSDN

posted on 2005-08-30 13:52:00 by zhanbos  评论(13) 阅读(2964)

通过共享资源(Resources),提高Performance(性能)

在下面的例子中:

<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 on 2005-08-28 08:53:00 by zhanbos  评论(15) 阅读(3083)

2005年Avalon有奖问答系列第四期暨最后一期预告

本期奖品为来自微软网上商店的笔记本包。本期题目发布的时间为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 on 2005-08-27 14:36:00 by zhanbos  评论(13) 阅读(3127)

欢迎合肥微软技术中心社区的读者朋友

感谢来自合肥微软技术中心社区在MVPs' Blog中对博客堂的链接。最近几天的文字都能看到来自合肥的读者。欢迎你们!

8月25日,微软中国第六家技术中心25日在合肥成立,这是在微软承诺在中国投资10亿元备忘录的最新动态。

而早一天(8月24日)的新闻稿称:在2006财年(2005年7月-2006年6月),公司将在中国招聘约800名新员工。有近300个职位将面向新毕业的大学本科生、硕士研究生、MBA和博士生。

微软中国已经成为除美国本土以外机构设置最全、最大的地区之一。愿与中国信息产业共同成长。

posted on 2005-08-27 09:02:00 by zhanbos  评论(12) 阅读(3068)

2005年Avalon有奖问答系列第三期获奖名单

Colin Hanqiuji都提供了符合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 on 2005-08-26 12:58:00 by zhanbos  评论(11) 阅读(2726)

细节,您注意到了么(2) :WPF为Windows Presentation Foundation的简称

自从Avalon正式命名为Windows Presentation Foundation后,使用Avalon这一说法的场合越来越少。虽然在9月的Tech Ed China(或者PDC 2005)上,Avalon作为Code Name还是出现在标题之中的,其原因是有的参会者还不清楚其正式名。比如Tech Ed课程 --- Windows Presentation Framework (代号Avalon) 360度

但在课程之中,大家都会避免使用code name而应该使用正式名称。只是Windows Presentation Foundation的名字较长。所以,您将听到的最多的称呼是WPF。基于同样的原因,在本Blog的随笔分类之中,原来是Avalon的类别已经被WPF(代号Avalon)所取代。而在以后的Blog中将最多的使用WPF。

posted on 2005-08-22 14:03:00 by zhanbos  评论(13) 阅读(3804)

细节,您注意到了么(1) :Visual Studio 2005命名不再含.NET

来自微软的软件集成开发环境(IDE)之2002和2003年版都在名字最后有.NET。其时正是.NET大作推广宣传的时候,很多产品的拟定名字中都加上了.NET。而对Visual Studio而言,在正式的产品名中也保持了.NET的说法。所以,我们有

Microsoft Visual Studio .NET 2002 (简称VS.NET 2002)
Microsoft Visual Studio .NET 2003 (简称VS.NET 2003)

但慢慢地,微软意识到,不加区分的使用.NET反而会增加人们理解之混乱,起到适得其反的作用。所以,那些拟定名字中有.NET的产品在正式发行时几乎都去掉了.NET.

而Visual Studio在2005年11月发布的最新版本也不再有.NET。所以下一个版本就是Microsoft Visual Studio 2005 (简称VS 2005)。毕竟,Visual Studio包含了许多非.NET的内容。

所以在我的Tech Ed课程---Microsoft Visual Studio 2005:托管代码调试的介绍中您就会注意到对此细节的重视。

所以在另外一个Tech Ed课程标题:使用VS .NET 2005构建移动应用的标题和说明中,则没有注意此细节。也是让我写了以上文字的原因。

不过使用VS 2005构建移动应用程序的课程一定挺有趣。如果和我的课程不冲突的话,欢迎大家和我一起去听。

posted on 2005-08-21 13:01:00 by zhanbos  评论(20) 阅读(12075)

Tech Ed课程DEV210 --- Windows Presentation Framework (代号Avalon) 360度

以下是我在Tech Ed 2005上的课程Windows Presentation Framework (代号Avalon) 360度的简要说明:

Windows Presentation Framework(代号Avalon)是支持下一代视窗应用程序表现层编程的平台,与Windows Communication Framework(代号Indigo)一起构成WinFX。微软为什么要开发Avalon?它给软件开发商,程序员和设计师带来了怎样的机会?它和WinForm, ASP.NET, MSBuild, DirectX, ClickOnce等技术的关系是什么?本讲座在回答以上问题之后,以示例和讲解并行的方式由浅入深地向您介绍Avalon的编程模型,Xaml,控件,数据绑定,文档,图形,动画和多媒体支持,着重阐述其带来的新的编程和设计思想。您还将看到使用Avalon开发的全新应用程序演示,以及支持Avalon开发的工具(包括在9月份才能对外发布的工具)。参加本讲座,获得对Avalon技术及其应用360度全景的了解,把握发展趋势,占据创新前列。

如果您对Avalon还有别的一些疑问或者体会,请通过留言或者电邮(AvalonQuiz @ Gmail.com)的方式和我交流。

posted on 2005-08-19 12:49:00 by zhanbos  评论(23) 阅读(5043)

Tech Ed课程DEV310---Microsoft Visual Studio 2005:托管代码调试

在连续参加了2002,2003和2004年的Tech Ed之后,我有机会第四次参加“十年沉淀”之Tech Ed 2005。记得我在2002和2003年的Tech Ed上各讲了3门课程。而在2004和今年的Tech Ed上,我的课程各为2门。

以下为今年的课程之一:Microsoft Visual Studio 2005:托管代码调试。课程简要说明:与Visual Studio.NET 2002/2003相比,定于今年十一月正式发行的Microsoft Visual Studio 2005对调试托管代码开发高质量程序提供了更加强大和灵活的支持。除了精简的用户界面,利于提高工效的IDE外,Visual Studio 2005提供的全新或者改进的特性和功能包括:修改/继续,快捷的远程调试设置,简化的调试符号服务器设置,数据可视化,跟踪点,异常和托管调试助手等。本讲座还总结和演示调试及测试程序的过程和最佳实践。参加本讲座,充分认识和发挥Visual Studio 2005的强大功能,从而在今后的软件开发和调试过程中利器在手,事半功倍。

博客堂的一些朋友已经使用Visual Studio 2005一段时间,也一定有自己的见解体会,问题及解答,经验和技巧。如果您可以或者通过留言或者通过AvalonQuiz @ Gmail.com的方式和我交流,将一定能有利于提高本课程的质量。先诚感谢。

posted on 2005-08-19 10:18:00 by zhanbos  评论(12) 阅读(4998)

TechTarget中文站对Tech Ed2005之宣传

TechTarget中文站已经组建了一支50人的TTFT(TechTarget TechEd Fan Team),要在Tech Ed的三天时间中,“同去,同行,提问,抢答,同进,同退,起立,鼓掌”

根据我的理解,TTFT参加的是在北京的Tech Ed。凭借其团队效应,看来TTFT能“抢答”到许多问题和礼物!

而能够被选中TTFT的首先条件是需要回答一系列Tech Ed相关的问题。每个问题都配有照片。如诗作“雪”的作者朱敏博士的照片就可以在此看到。照片主要是来自去年的Tech Ed。

我期待着TechTarget中文站在下个月对Tech Ed的报道和反馈。

posted on 2005-08-19 04:05:00 by zhanbos  评论(15) 阅读(2642)

2005年Avalon有奖问答系列第三期

第二期获奖名单: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.aspx
http://blog.joycode.com/zhanbos/archive/2005/08/09/61717.aspx

请将您的答案打包(Zip格式)后寄到AvalonQuiz @ Gmail.Com.有人答出后会在此及时公布。

注意,所有的奖品将在Avalon有奖问答系列全部结束后一起寄出。您需要一个在国内的通讯地址。

posted on 2005-08-18 15:30:00 by zhanbos  评论(24) 阅读(5625)

回答qiuji关于在VS2005下安装Avalon模板的问题

Avalon正式命名为Windows Presentation Foundation(及其他信息)的留言中,qiuji提问到:

 

我重新安装了新的WinFX Runtime Components Beta1WinFX SDK之后,在Visual Studio 2005 beta 2 以及Express Edition里面,在新建项目的时候都不能新建Avalon的项目了,请问如何解决?

 

的确,从Beta1开始,VS2005Avalon模板安装不再由WinFX SDK,而是由一个新的组件完成。其名字叫做“对于WinFxVisual Stuido扩展” Visual Studio Extensions for WinFX)。

 

Microsoft Visual Studio Extensions for WinFX Beta 1WinFX Runtime Components Beta1,和WinFX SDK Beta1稍晚几天才在网上发布。您可以在此处下载。注意在安装好WinFX SDK后再最后才安装此Extension.

 

现在就可以通过SDK了解更多Avalon/Windows Presentation Foundation编程的知识。欢迎参加818日的2005Avalon有奖问答系列第三期,得到Microsoft IntelliMouse Explorer (微软光学银光鲨)的奖品。

 

贴子以"现状"提供且没有任何担保也没有授予任何权利

 

posted on 2005-08-09 14:48:00 by zhanbos  评论(9) 阅读(4440)

MSBuild自身提供的各项Task(任务)参考文档

MSBuildV1版本已基本定形。其自身提供的各项任务在使用上也不会有太大的变化了,并且应该可以满足绝大多数项目的需要。了解每个任务是使用好MSBuild的一个必要条件,因为TaskMSBuild的积木(Building block)。

 

这样的任务有三十多个。不少是对常用的命令行工具的封装。如Csc Task, Vbc Task, Lc Task。还有在Build中常用的任务(现在往往通过批处理文件,脚本文件实现)如Exec TaskMakeDir, RemoveDir,和Touch。以及支持MSBuild的任务如CreateItemCreateProperty.

 

所有的参考文档可以在MSDNMSBuild Task Reference页上看到。注意在ReadLinesFromFile Task页中,其中的例子少了一个 </ReadLinesFromFile>

 

贴子以"现状"提供且没有任何担保也没有授予任何权利

posted on 2005-08-08 01:58:00 by zhanbos  评论(9) 阅读(4408)

【第1页/共2页,16条】
首页
前页
1

Powered by: Joycode.MVC引擎 0.5.2.0