RSS 2.0 Feed
WPF/E
摘要:【原文地址】Styling a Silverlight Twitter Application with Expression Blend 2【原文发表日期】 Friday, November 14, 2008 2:15 AM Silverlight 2 为建造跨浏览器、跨平台RIA应用提供了一个丰富的平台。 使得Silverlight如此强大的一件事情是,开发人员和设计师在Silverlight项目上一起合作的容易性。开发人员可以使用Visual Studio打开和编辑Silverlight 2项目,得到一个强大的以代码为中心的 .NET 开发环境,而设计师则可以使用Expression Blend 2 SP1打开和编辑同个项目,使用一个创造性的工具,精雕细琢,创造出优化的用户体验设计。 Silverlight中发布的WPF UI框架通过支持象布局管理,控件,样式,模板和资源这样的概念,进一步促成了很好的设计师/开发人员工作流程,有助于避免设计师和开发人员在集成功能,行为和有表现性的设计时相互妨碍的场景。 Silverlight 2 Twitter 例程 上个月,我贴出了一个深入的博客教程,教你如何建造一个Silverlight 2 Digg应用,你可以在这里阅读。该教程主要针对开发人员,着重于介绍在建造Silverlight 2应用时涉及的基本编程概念。 今天,Celso Gomes 和 Peter Blois 发布了一个很酷的十分钟长的录像教程,展示如何使用Expression Blend来对一个Silverlight 2 Twitter Messenger应用进行样式化。你可以在 这里观看这个录像,你可以在这里下载完成后的Silverlight Twitter应用的源代码。 这个录像很好地示范了设计师如何不用改动后台代码,就可以对一个Silverlight应用重新样式化。在样式化过程中,该录像还展示了Expression Blend 2提供来建造极其丰富的用户体验的一些强大的功能。Celso 从该应用的开发人员版本开始,然后对UI进行定制和精雕细琢,使其拥有一个好玩的twitter(鸟鸣)角色的主题: 应用模型 该Silverlight Twitter客户端是宿主于一个ASP.NET服务器应用之中的,该应用呈示了一个web服务,允许Silverlight Twitter应用与Twitter服务进行通讯(因为Twitter不允许来自客户端应用的直接访问)。而Silverlight客户端与ASP.NET web服务器之间的通讯是通过Windows Communication Foundation (WCF)实现的。 该客户端应用使用了“Model-View-Presenter (MVP)”模式(也称为“Model-View-ViewModel”模式),这是在大型WPF应用中常用的模式。虽然这是个很简单的应用,他们还是想要利用MVP带来的灵活性,以及为将来发展留下空间。 保持视觉表现和应用逻辑的分离,还允许设计师不用影响基本的应用流程,而做出比较复杂的视觉上的改动,这个录像提供了一些该架构促成的样式化灵活性的例子。 样式化过程 在录像中,Celso着重强调了Resources(资源)可以怎样帮助设计师很快地改变颜色。例如,一个常见的画刷资源(Brush Resource),可以被用来改变应用中所有文本元素的颜色: Celso展示了使用Expression Blend 2 SP1从图形来创建新的用户控件是多么地容易(只要在设计器上选择多个元素,右击鼠标,选择“Make Control”菜单项即可): 还展示了如何在这个新的用户控件中创建新的状态(用了视觉状态管理器的功能,现在WPF也提供了该功能),创建鸟的动画效果(飞翔,眨眼等等) Celso还展示了如何创建每个状态的动画效果,改变象Key Spline曲线和Repeat Behavior这样的高级属性: 他还展示了如何从图画创建出定制的按钮(这些图画可以来自于XAML或象Photoshop或Illustrator这样的任何其他设计工具),一个Button控件的所有状态都有现成提供。 Expression Blend还允许你轻松的改变象List Boxes这样的复杂控件,设计师可以访问所有的样式,模板和状态,不用编写任何代码就可以完全地定制List Box的所有部分: 想把玩上面的Twitter应用的话,你可以观看该录像,以及下载相关代码。......[阅读全文]

posted @ | Feedback (0) | Filed Under [ .NET WPF/E Community News Silverlight ]

摘要:【原文地址】 Tip/Trick: Supporting Full Screen Mode with Silverlight 【原文发表日期】 Thursday, May 17, 2007 6:56 AM Silverlight支持的一个很好的特性是全屏功能,它能有效地接管计算机的整个屏幕,把其他的一切都藏起来,包括浏览器的边框。这在创造沉浸性UI体验,游戏,丰富的视频播放器等时会非常有用。 想看一个该特性的很好的实战例子的话,一定要去看一下www.silverlight.net网站上的Fox电影例程: 在页面装载结束,电影开始播放后,在视频表面的中间双击,转换到全屏模式(注:上面的屏幕截图不是在全屏模式下,而是在浏览器模式下截下来的)。然后你可以点击ESC键来转回正常的浏览器模式。 如何使用.NET在Silverlight 1.1中实现全屏模式 我看到几个人问的一个问题是,“如何在使用.NET建造Silverlight应用时实现全屏模式? ” 好消息,答案是,实际上非常容易: 1) 首先往你的应用中加一个输入驱动的事件处理器,譬如,鼠标按下或键盘事件处理器。为安全之故,Silverlight不允许开发人员在应用刚装载时把应用转换成全屏模式(你不想让一个应用诓骗你)。所以你需要在回复用户动作时触发全屏模式。 2) 在你的输入事件处理器里,将BrowserHost.IsFullScreen属性设置为true (注: BrowserHost类居于System.Windows.Interop 空间命名之下)。这会引起Silverlight转换成全屏模式。将这个属性设置为false则转回到正常的浏览器模式。 简单的全屏模式样例 你可以在这里下载一个我用C#编写的简单的Silverlight全屏模式例程。 在你运行这个例程时,它会在浏览器里装载一个极其简单的Silverlight应用,显示一个文字消息,提示你点击它以转换成全屏模式: 如果你点击“Click for Full Screen(点击转换成全屏)”文字的话,该应用就会转换成全屏模式,即,把系统里运行的所有其它东西都隐藏起来,接管整个屏幕: 当你转换成全屏模式后,Silverlight会显示一个用户消息框,在屏幕上显示几秒钟,指示用户,他们可以按ESC键来转回浏览器模式。几秒钟后,这个消息框会消失,可见的只有你的内容。在我上面的例程里,我也允许用户点击“Click to Return to Browser(点击返回浏览器)”文字来转回浏览器模式。 简单的全屏模式代码解释 实现上面的例程的代码非常简单。 首先,我们可以打开和编辑应用的.XAML文件,然后往其中添加一个UI元素,我们将用它来触发全屏模式。在上面的例程里,我使用了一个<TextBlock>控件,我将它命名为"MyMessage"。下面是整个应用的XAML的所有内容: 下面的屏幕截图显示了上面.XAML文件的后台代码,包含了整个应用的所有代码: 在应用的Page_Loaded()事件处理器里,我接连了2个事件处理函数。 MyMessage_MouseLeftButtonDown,这个事件处理函数将会在用户点击我加进XAML文件中的TextBlock消息控件时执行。在这个事件处理函数里,我只是简单地根据当前是否已经在全屏模式,来把BrowserHost.IsFullScreen属性切换成true或false。 BrowserHost_FullScreenChange,这个事件处理函数会在Silverlight转换成全屏模式和浏览器模式时执行。它在模式转换发生时,提供了一个很好的地方来添加逻辑以更新UI。在上面的例程里,我改变了TextBlock控件上的文字。我也可以设置控件的大小或者将它们移动到屏幕的新位置上去。目前,Silverlight 1.1 Alpha还没有布局管理器支持,所以控件不会自动定位,除非你编写代码自己管理(不用担心,象桌面WPF版本一样的布局管理控件不久就会推出)。 除了IsFullScreen属性外,BrowserHost类还有许多非常有用的属性和事件: ActualHeight和ActualWidth属性在你转换成全屏模式查询屏幕尺寸时尤其有用。你可以在页面上定位和扩缩你的UI控件时利用这些属性。 结语 在Silverlight应用中支持全屏模式非常容易,它能提供了了非常棒的,沉浸性用户体验。 想进一步了解Silverlight的话,请阅读我的Silverlight综合公告贴子以及访问www.silverlight.net社区网站。 想观看我使用.NET和Visual Studio Orcas从头打造Silverlight应用的示范的话,请观看这里的这个录像。 希望本文对你有所帮助, Scott 标签: .NET, Tips and Tricks, WPF/E, WPF, Silverlight...[阅读全文]

posted @ | Feedback (14) | Filed Under [ .NET Tips and Tricks WPF/E WPF Silverlight ]

摘要:【原文地址】Expression Products Added to MSDN【原文发表日期】 Tuesday, April 03, 2007 9:30 AM 去年12月,微软宣布了新的Expression Studio产品。这些产品允许设计师开发精妙的用户体验,是设计来帮助促进设计师和开发人员在项目上良好的工作流协作的。 Expression产品与Visual Studio共享一个共同的项目文件格式,这允许使用Expression的设计师和使用Visual Studio的开发人员一起打开和编辑同个项目。它们也共享共同的UI声明式标识符格式(HTML和XAML),以促进干净的设计/编码交互性。 我们最初宣布Expression时,一个常问的问题/埋怨就是关于我们不打算将这些产品(特别是Expression Web和Expression Blend)包括在MSDN订阅中的。今天,我们宣布我们改变了这个决定(你可以在Soma这里的博客贴子上阅读相关详情)。 Expression Web和Expression Blend现在将无偿地提供给所有MSDN Premium的订阅者(这包括那些 拥有VS Professional with MSDN Premium订阅的客户)。这意味着,更加多的开发人员将拥有精妙的设计工具来建造强大的ASP.NET,WPF和WPF/E解决方案。 Visual Studio也将为HTML,WPF和WPF/E提供集成的所见即所得的(WYSIWYG)设计器。 就象我在上个月的“Orcas web开发初览”博客贴子里提到的,Visual Studio Orcas中的HTML设计器实际上跟Expression Web中推出的设计器是同一个设计器 (只是集成进Visual Studio shell罢了)。VS Orcas也将发布一个强大的新WPF设计器,该设计器将与Visual Studio IDE良好集成,并且添加了丰富的开发人员特性(譬如,象设计器/源码编辑的分割视窗,以及丰富的控件扩展性等)。 假如你还没有试过Expression Blend 或 Expression Web的话,我强烈建议你去试用一下。你可以在Microsoft Expression网站上下载免费180天的试用版本。 希望本文对你有所帮助, Scott 标签: ASP.NET, Visual Studio, .NET, WPF/E, 社区新闻 (Community News), WPF...[阅读全文]

posted @ | Feedback (1) | Filed Under [ ASP.NET .NET Visual Studio WPF/E Community News WPF ]

摘要:【原文地址】Slides from my ASP.NET Connections talks: WPF/E, LINQ and ASP.NET Tips/Tricks【原文发表日期】 Friday, March 30, 2007 11:28 PM 这个星期早些时候,我在奥兰多举行的ASP.NET Connections大会上做了三场讲座。下面是我做的三场讲座的讲义/演示代码: WPF/E简介 这个讲座对WPF/E提供了一个很好的介绍,WPF/E是一个新颖小巧的,跨平台的浏览器运行时的代号,它允许开发人员和设计师开发提供更丰富的,交互性更强的web体验。我最早在这里的博客贴子里介绍过WPF/E。 你可以在这里下载我的WPF/E讲座的讲义和演示代码(内含一个录像样本,使整个下载大小达到10M左右)。这个讲座对今天的WPF/E CTP版本中的核心功能做了概述,同时也示范了你要使用的核心XAML和JavaScript编程模型。 想得到更多WPF/E样例的话,请去这里访问Channel9上的在线WPF/E样例馆。你也可以去这里的MSDN上的官方WPF/E网站上下载文档和例程。我团队的Mike Harsh在这里撰有一个精彩绝伦的讨论WPF/E的博客,我强烈推荐你订阅他的博客。 使用LINQ建造数据驱动的Web应用 这个讲座对LINQ(将作为我们的Orcas的一部分发布)提供了深入的讨论,并对它给ASP.NET带来的开发效率的显著提高做了一些示范。点击这里下载这个讲座的讲义。 如果你还没看过的话,我强烈建议你在这里观看一下我在Visual Studio Orcas中使用LINQ的20分钟的示范录像。你可以通过阅读我以前写的一些关于LINQ的博客贴子来进一步了解LINQ以及如何在ASP.NET中使用LINQ等。这里是特别值得一读的几篇贴子: Building and using a LINQ for SQL Class Library with ASP.NET 2.0 Building a Photo Tagging Application using ASP.NET 2.0, LINQ, and Atlas 在ASP.NET中使用LINQ (蓝天译) Using DLINQ with ASP.NET DLINQ with Stored Procedures Understanding LINQ to SQL Query Translations 最后,想了解随Orcas一起发布的一些新C#和VB语言特性(LINQ大量使用了这些特性)的话,请在这里看一下我的语言系列的前2篇贴子: Orcas中C#语言的新特性:自动属性,对象初始化器,和集合初始化器 新Orcas语言特性:扩展方法 我会在接下来的几天内试着发表我的语言系列的下一篇(将讨论Lambda表达式),请静侯。 ASP.NET 2.0 技巧和诀窍: 这个讲座讨论了ASP.NET UI,AJAX, 缓存和部署技巧和诀窍以及Visual Studio 2005 技巧/诀窍。样例包括在 ASP.NET......[阅读全文]

posted @ | Feedback (3) | Filed Under [ ASP.NET .NET Talks WPF/E ]

摘要:【原文地址】 Video Interview of Me Talking about WPF/E, Orcas, IIS7 and MIX 【原文发表日期】 Friday, January 12, 2007 11:32 PM 昨天,Channel9 贴出了一个这个星期早些时候录制的Rory Blyth 采访我的录像。 在采访中,我讨论了WPF/E,VS Orcas,IIS 7 以及即将于4月30日举行的微软MIX大会。在大会上,我和Ray Ozzie将做主题演讲。我也讲述了我的车被微软校园保安部门拖走的故事。 点击这里 观看。 - Scott                   标签: ASP.NET, .NET, IIS7, Talks, WPF/E, Community News...[阅读全文]

posted @ | Feedback (20) | Filed Under [ ASP.NET .NET IIS7 Talks WPF/E Community News ]

摘要:【原文地址】 Download ASP.NET AJAX PDF Cheat Sheets 【原文发表日期】 Wednesday, January 10, 2007 12:05 AM http://aspnetresources.com 网站的Milan Negovan编篡了一些非常棒的PDF格式的ASP.NET AJAX中客户端JavaScript脚本库的备忘表(cheat sheets): 这些备忘表极其方便有用,值得打印出来,用以快速查询信息和可用的代码片段。 Milan已把这些备忘表完全免费公开共享了,所以一定要去下载它们,并向他提供反馈,目前他正为客户端AJAX脚本库的所有核心类编篡备忘表。 希望本文对你有所帮助, Scott 标签: ASP.NET, .NET, Atlas, WPF/E...[阅读全文]

posted @ | Feedback (10) | Filed Under [ ASP.NET .NET Atlas WPF/E ]

摘要:【原文地址】 Next Generation Yahoo Messenger built with WPF and .NET 【原文发表日期】 Sunday, January 07, 2007 11:12 PM 在这个星期的消费类电子产品展览会(Consumer Electronics Show)上,Yahoo 展示了他们下一代messenger客户端的几个非常酷的演示(你可以在 http://messenger.yahoo.com/vista 观看一个演示录像)。其中一个非常酷的事情是,这个新messenger客户端是用 Windows Presentation Foundation (WPF) 和 .NET开发的。 WPF最强大的方面之一是其创造出沉浸性用户体验(immersive user experiences)的能力,这样的体验远远地超越了我们今天从普通客户端或web应用中预期得到的东西。开发人员可以通过为其他大部分用户界面框架所不能的方式来样式化和模板化用户界面,使用其内置的用户界面/代码分离的模型来允许设计师和开发人员一起合作开发项目。 在下几个月内,我将贴出N个博客帖子,示范如何开始使用WPF来开发精彩的应用(注:WPF已是 .NET Framework 重分发文件中的内置库)。如果你对进一步了解WPF感兴趣的话,我强烈建议你订阅theWPFBlog博客,该博客上会登出一些精彩的WPF和WPF/E方面的文章,上面的截图就是来自这个近期的帖子。 很好玩的东西吧, Scott 标签: .NET, WPF/E, Community News ...[阅读全文]

posted @ | Feedback (5) | Filed Under [ .NET WPF/E Community News ]

摘要:【原文地址】 Announcing the release of the first "WPF/E" CTP 【原文发表日期】 Monday, December 04, 2006 11:07 AM 今天早晨,我们发布了WPF/E的第一个公开的社区技术预览版。你可以在这里安装,然后尝试一下下面这几个早期样例,这些样例彰显(show off )了WPF/E的一些功能(注意:样例也许还没有完全传送到某些服务器,所以有问题的话,稍后再去访问): Page Turner Sprawl Game Film Strip Slide-Show Media Library WPF/E提供了一个很小的客户端运行时,允许AJAX开发人员和设计师提供更丰富的,跨平台的,互动性(interactive)的web体验。它将允许web应用程序超越目前使用单纯的HTML所能做到的东西,将允许网站混合HTML UI,动态的矢量图形,动画和多媒体形成一个无缝的跨平台/跨浏览器体验,从而极大地改进客户端用户体验。 WPF/E是通过提供一个丰富的图形引擎来达成这个目的的,这个图形引擎可以用在任何网页上,它给浏览器增添了对矢量图形,动画和声明式XAML UI 标识的支持。声明式的XAML格式同时也使互动性内容的搜索引擎优化以及通过使用即见即所得(WYSIWYG)的工具来作创作成为可能。WPF/E也对 WMV,WMA 和 MP3 内容提供了内置视频音频编码解码器(codec)的支持。这意味著,你现在可以轻易地把互动性的视频内容通过流的方式发送(stream interactive video content)到任何浏览器,而不需要另外的安装或运行时(不再需要Windows Media Player了)。 WPF/E是通过一个很小的客户端运行时来实现的,用户只需为所用的浏览器下载和安装这个运行时一次。这个CTP下载的大小是1.1M,还可以设置在用户第一次访问使用了WPF/E内容的页面时“按需下载”。这第一个CTP 版本可以在 Windows 和 Macintosh 系统(x86和PowerPC)上运行,支持IE,FireFox 和 Safari 浏览器。 WPF/E非常棒的地方是,从开发人员的角度来看,非常容易把它集成到现有的HTML 网页和网站里。开发人员可以在HTML 网页里编写标准的JavaScript来对WPF/E中的任何XAML DOM元素,故事主线(storyline)动画,和视频进行直接操作和编程。这使得开发人员能向他们现有的使用了AJAX的HTML方案轻松地添加WPF/E 内容,能够使用带有一致性AJAX框架的单一编码库(code-base)对居于同一个网页上的HTML和XAML DOM同时进行操作。 WPF/E可以和任何 AJAX框架一起使用,它不依赖于任何客户端的 AJAX 实现。很明显地,我们将提供它与ASP.NET AJAX,Visual Studio和新的 Expression Studio设计器工具的紧密集成。我们也将在明年提供WPF/E与.NET 托管代码的集成。 想进一步了解WPF/E的话,观看一下Channel9 上关于这个项目的的录像: 你也可以在这里浏览这个CTP的文档。我也将在下几周内在我的博客这里贴出N个WPF/E教程,其中包括一个展示了它与ASP.NET AJAX 良好集成的教程。 我想你会发现这是个大可利用的非常激动人心的技术,它将使你能极大地改进你以后的 web 应用的用户体验。 谢谢, Scott 标签: ASP.NET, .NET, Atlas, WPF/E ...[阅读全文]

posted @ | Feedback (4) | Filed Under [ ASP.NET .NET Atlas WPF/E ]