??xml version="1.0" encoding="utf-8" standalone="yes"?>精品亚洲视频在线观看,亚洲AV无码一区二区乱孑伦AS,亚洲日韩在线观看http://m.tkk7.com/wangbbs2007/category/41953.htmlhttp://m.tkk7.com/wangbbs2007/zh-cnSun, 04 Oct 2009 08:36:32 GMTSun, 04 Oct 2009 08:36:32 GMT60Silverlight 3 安装到VS 2008 SP1http://m.tkk7.com/wangbbs2007/articles/297148.html乐java?/dc:creator>乐java?/author>Sat, 03 Oct 2009 06:09:00 GMThttp://m.tkk7.com/wangbbs2007/articles/297148.htmlhttp://m.tkk7.com/wangbbs2007/comments/297148.htmlhttp://m.tkk7.com/wangbbs2007/articles/297148.html#Feedback0http://m.tkk7.com/wangbbs2007/comments/commentRss/297148.htmlhttp://m.tkk7.com/wangbbs2007/services/trackbacks/297148.htmlSilverlight 3 目前没有中文?

所以根据本人安装经?下蝲英文?

如果使用的vs 2008是中?那么你也一定需要下载VS 2008 sp1-英文? 是ؓ了下载安装silverlight 3pȝ.

需要的补丁.

1.先安装VS 2008 sp1-英文?

2.下蝲silverlight 3 tool for vs 2008 sp1.(不需要再下蝲SDK,

     安装时徏议网l?有可能此E序需要联Z?

(?

Ideal team



]]>
Silverlight教程W八部分Q用WPF创徏一个Digg桌面应用 http://m.tkk7.com/wangbbs2007/articles/297147.html乐java?/dc:creator>乐java?/author>Sat, 03 Oct 2009 05:45:00 GMThttp://m.tkk7.com/wangbbs2007/articles/297147.htmlhttp://m.tkk7.com/wangbbs2007/comments/297147.htmlhttp://m.tkk7.com/wangbbs2007/articles/297147.html#Feedback0http://m.tkk7.com/wangbbs2007/comments/commentRss/297147.htmlhttp://m.tkk7.com/wangbbs2007/services/trackbacks/297147.htmlq是8个系列教E的W八部分Q这pdC如何使用Silverlight 2的Beta1版本建造一个简单的Digg客户端应用。这些教E旨在按序阅读Q帮着解释Silverlight的一些核心编E概c?/p>

使用WPF创徏一个Digg桌面应用

q最后一个教E的目的与前?个有点不同。我们实际上不将在本教程里在Silverlight中运行代码,而是用WPF?NET 3.5。我们将拿我们编写的Q在览器中q行于Silverlight中的现有的Digg应用代码Q重用它来以Windows桌面应用的方式运行?

随Silverlight发布的是一套与.NET 框架完整版本相兼容的API子集。这么做的目的就是允许开发h员学习一个共同的~程模型和工具集Q能够在RIA web应用Q丰富的Windows桌面应用和Office解决Ҏ(gu)之间重用学到的技能,代码和内宏V?

下面是我采取的步骤,来重用我们现有的Digg Silverlight应用代码Q运行于览器中Q,来徏造一个Windows桌面应用的版本(q行于浏览器外)?

W一步:创徏一个新的WPF桌面应用

我们先开始用VS 2008创徏一个新的WPF桌面应用。我们将之命名ؓ“DiggDesktopSample”Q?/p>

q会在VS中创Z个项目,内含2个文Ӟ一个App.xamlQ一?Window.xamlQ?

注意Q这个项目的l构与我们在本系列教E的W一里创徏的Silverlight应用的结构非常类|拥有一个App.xaml 文gQ一?Page.xaml 文gQ?

W二步:把现有的Digg应用的代码拷贝进WPF应用?/u>

我们把现有的DiggApplication Silverlight代码拯/_脓(chung)q我们的新DiggDesktopSample Windows目中:

目前在Beta1版本中,q个拯/_脓(chung)是个手工步骤Q我们最l将有一个自动化的方式来在不同项目类型间Ud代码?/p>

W三步:修正几个问题

我需要做2个改动,才能使我们现有的Digg例程代码被成功编译:

1) Silverlight Beta1 XAML定义的命名空?xmlns:URL与完整的WPF桌面版本不同。我需要改动我拯q新目的XAML文g指向完整WPF的定义。这是在发布前我们还正在研究的东ѝ?

2) 我需要把<&lt;WaterMarkTextBox>控gҎ(gu)<TextBox>Q把 <HyperlinkButton> 控gҎ(gu)<TextBlock>。这2个控件是Silverlight Beta1 版本中新有的Q不存在于完整的WPF版本中(但我们会在将来添加它们)。但?u>不用改动跟这些控件相关的M代码Q也不用改动|络调用QLINQ to XML, 或数据绑定代码?/p>

做完q些改动后Q项目就可以q净地编译了?/p>

W四步:把Digg应用宿主与桌面窗口中

然后我打开桌面目中的Windows1.xaml 文gQ它是在应用启动时装载的默认H口Q?

我把H体的标题改?#8220;Digg Desktop Version”Q扩大了H口默认的宽度和高度?

然后我把来自前面的Digg Silverlight 目中的Page.xaml 用户控g加到H口中作为根控g。这在窗口装载时Q会载入该控件ƈ使之可见。我不用改动Pagecȝ代码Q或者对其中的东西改名。因为是从UserControll承而来Q它是完全可以宿MMWPFH口或控件中的?

我改动的最后一样东西是因ؓDigg REST API 服务器会试着是否是非浏览器/服务器在讉K它,有时会在q些情Ş下给予一个拒l访问的回复Q大概是防止自动脚本讉K他们的服务)而导致的一个问题。我通过让网l访问经q一个代理URL解决了这个问题(没有代码变动Q只是URL改动Q?

W五步: q行应用

然后Q我能够q行我们新的DIgg桌面应用。所有的功能都跟Silverlight的版本一样工作,应用的行Z完全一P

在从列表中选择一个故事后Q细节用h件显CZؓQ?

览器版本和桌面版本间有几个l微的样式区别。这主要是因为WPF在默认情形下l承了基于当前用户选择的操作系l主题的默认样式Q字体,颜色Q卷动条{等Q,而Silverlight 则有一个我们在所有操作系l上都用的默认主题。如果我们要使得桌面版本和浏览器版本l对一_我们可以在我们的样式和控件模板中更明地指定Q否则的话,桌面版本会基于用LOS主题做稍微的变动?

l语

我们会在来推出在Silverlight和WPF目之间׃n代码的更详细的注意事和推荐的最?jng)_跉|南。我认ؓ你会发现你在建造Silverlight应用时学到的技能和知识可以很好地{Ud完整的WPF的项目中厅R我们也致力于一个非帔R的兼Ҏ(gu)qI能在解决Ҏ(gu)间促q好的代码重用,促进控gQ内容和代码的轻村օ享和利用?

希望本文对你有所帮助Q?/p>

]]>
Silverlight教程W七部分Q?使用控g模板定制控g的观?http://m.tkk7.com/wangbbs2007/articles/297146.html乐java?/dc:creator>乐java?/author>Sat, 03 Oct 2009 05:44:00 GMThttp://m.tkk7.com/wangbbs2007/articles/297146.htmlhttp://m.tkk7.com/wangbbs2007/comments/297146.htmlhttp://m.tkk7.com/wangbbs2007/articles/297146.html#Feedback0http://m.tkk7.com/wangbbs2007/comments/commentRss/297146.htmlhttp://m.tkk7.com/wangbbs2007/services/trackbacks/297146.htmlq是8个系列教E的W七部分Q这pdC如何使用Silverlight 2的Beta1版本建造一个简单的Digg客户端应用。这些教E旨在按序阅读Q帮着解释Silverlight的一些核心编E概c?/p>

如何定制控g的观感(Look and FeelQ?/u>

WPF和Silverlight~程模型中一个强大无比的功能Q就是能够完全定制所使用的控件的观感QLook and Feel Q。这允许开发h员和设计师对控g的界面以微妙和戏剧性的方式q行_Nl琢Q促成无比的灉|性以创徏出恰如所愿的用户体验?

在这教E里Q我们将看一下你可以定制控g的几U方式,然后在结用这些技术对我们的Digg应用的用L面润色一下?

定制控g的内?/u>

在这个系列的W一部分里,我们在页面上加了一个简单的按钮控gQ示范了如何把它的内容设成一个自定义?#8220;Push Me!”文字字符丌Ӏ然后我们连接了一个Click事g处理函数Q在它被点击时执行一些代码:

q导致按钮在览器里象下面这么显C:

关于按钮控gQ也怼让你感到惊奇的一件事情是Q它的Content属性,不必是象“Push Me!”q样单的字符丌Ӏ实际上Q我们可以把Content属性设成我们想要的M形状或控件序列:

譬如Q我们可以嵌入一个StackPanelQ内?<Image> ?<TextBlock> 控gQ?

 

q会D我们的按钮在q行时看上去会象下面q样。注意,它依然保留同L功能行ؓQ按它的话,按钮会陷下去Q点M件处理函C会象以前一栯发)Q?

我们也可以用Ş状控Ӟ象下面这LEllipse控gQ来在按钮里面创定义的矢量图像:

注意上面我是怎么使用一个偏URadialGradientBrush来加一个非常好看的反射式光泽来填充Ellipse控g的:

我们甚至可以搞些古怪,在按钮内嵌入可交互的象日历这L控gQ?

在上面的例子中,日历控g是完全可以交互的Q意味着l端用户可以前后L历,在日历里选择一个日期,然后按其中的按钮Q触发Click事g处理函数Q(注:我不清楚q是否会是一个好的用户体验,但它实展示了你所能做之灵zL!Q?

我上面概q的q些cd的内容定制场景不仅对按钮控g有效Q同样地对其他承自ContentControl基类的其他控件也工作?

使用控g模板定制控g

为Silverlight ?WPF所用的控g模型Q所允许之定Ӟq远出控g内部的内宏V它q允怽用你惌的Q何东?em>完全替换控g的视觉树Qvisual treeQ,同时q保持控件的同样行ؓ?

例如Q我们不惌我们的按钮拥有一个默认的长方形的按钮的外观,而是要它们有一个象下面q样的自定义的圆形按钮外观:

我们可以q么做,在App.xaml文g中创Z?#8220;RoundButton”样式Q在其中Q我们将改写按钮的Template属性,提供一个内含一个Ellipse控g和一个TextBlock的ControlTemplate来替换按钮的默认长方形外观:

然后我们可以?lt;Button>引用q个Style资源来用这?#8220;RoundButton”的观感:

在控件模板中融入内容

你也怼注意C件事情,在上面的“RoundButton”控g模板中,按钮的大,以及昄在其中的内容Q都是写ȝQL“Push Me!”Q?

好消息是QWPF ?Silverlight也能让我们对q些讄q行定制。我们可以在控g模板中通过使用 {TemplateBinding ControlProperty} 的标识扩展句?Qmarkup extension syntaxQ?来绑定到控g的属性来实现。这允许我们的控件模杉K着外部开发h员设|在控g的属性而改变:

注意上面Q不是加 <TextBlock>控g来显C内容,而是使用<ContentPresenter>控g。那会允许我们不光让按钮昄文字字符Ԍ而且可以昄M自定义的内容Q就象我们在本教E早先时候做的那P?/p>

然后Q我们可以在下面的三个按钮上使用上面的StyleQ每个按钮都有不同的内容和属性设|)Q?

上面的按钮然后就会象下面q样昄Q对了,~小的日历控件还支持页和日期选择Q)Q?

如果我们惌一步,我们q可以往ControlTemplate中加故事板动画(来处理象“hoverQ?zhn)?#8221;,"focusQ得到焦点)","pushedQ按下)"q样的按钮状态)。这个能力允许我们创建非怼的用户交互场景Q同时还能促成HTML中不能实现的场景?

在应用中操作控g的开发h员可以对所有这些样式和控g交互定制保持一无所知,他们q可以依然如故地处理控g的事件和操作控g的对象模型,而让设计师另外用样式和模板Ҏ(gu)件的观感q行_Nl琢和定制?/p>

Ҏ(gu)们的Digg应用q行润色QPolishing upQ?/u>

xQ我们讨Z控g模板工作原理的一些基知识Q让我们来在几个地方用它们来l我们的Digg应用的UI加些点缀?

目前Q应用中一个明N要一些加工的地方是我们用h件的“Close”Q关闭)按钮Q?

好消息是Q这Ҏ(gu)们(或者跟我们协作的设计师Q来说很Ҏ(gu)修正。我们可以在App.xaml文g中的 "CloseButton" 样式中加一个ControlTemplateQ加一些自定义的矢量Ş状来提供一个比较好看的关闭按钮Q注Q比我更U职的设计师大概q会加?zhn)和动画行ؓ到矢量图像Ş状上去,让它更好看些Q:

重新q行我们的应用的话,按钮看上去象下图Q?/p>

我们应用中我认ؓ应该润色的第二个地方是ListBox的外圈界面。如果你仔细看的话,你可以看到Beta1版本中的ListBox有一个嵌套的Ҏ(gu)Q作为它的默认外观(注:我们q没最后决定要发布的默认皮肤,所以在最l版之前Q这非常有可能会改变Q:

我们可以除去q个Q通过定制它的控g模板来给与ListBox一个^的边框(flat borderQ。下面是一个以自定义模板样式化了的Q有q的Ҏ(gu)的ListBox Q?

注意我们是如何除去ListBox的边框控件的Q我们只用了Silverlight中的<ScrollViewer>控gQ该控g允许其中M内容做卷动)Q将一?lt;ItemsPresenter/>控g嵌入其中Q该控g负责ListBox中实际条目的昄Q它使用了我们在W四部分中创建的 <DataTemplate> 来显C些条目)?

下面是它现在l与我们的List更ؓq直的外观:

比较L是,Z做这些观感的改动Q我?u>?/u>用更改应用中的Q何代码,或者修改实际的控g的XAML标识。这U代码、设计的分离能在Silverlight和WPF应用中促q开发h员和设计师之间的畅的工作流E。Expression Blend 和所有的 Expression Studio产品把这些控件设计功能提C又一个高度,提供方便这U定制的丰富的设计师工具集?

下一?/u>

xQ我们完成了Digg应用在Silverlight中的实现?/p>

最后一步,是实C个桌面应用的版本。好消息是,做v来ƈ不难Q因为Silverlight是完整WPF?NET框架的一个子集,所以概念,代码和内定w很容易{U过ȝ?/p>

想看是如何实现的Q让我们跛_下一个教E:?a class="" target="_blank" mce_>使用WPF创徏一个Digg桌面应用》?/p>

]]>
Silverlight教程W六部分Q用用h件实C从表场景 http://m.tkk7.com/wangbbs2007/articles/297145.html乐java?/dc:creator>乐java?/author>Sat, 03 Oct 2009 05:42:00 GMThttp://m.tkk7.com/wangbbs2007/articles/297145.htmlhttp://m.tkk7.com/wangbbs2007/comments/297145.htmlhttp://m.tkk7.com/wangbbs2007/articles/297145.html#Feedback0http://m.tkk7.com/wangbbs2007/comments/commentRss/297145.htmlhttp://m.tkk7.com/wangbbs2007/services/trackbacks/297145.htmlq是8个系列教E的W六部分Q这pdC如何使用Silverlight 2的Beta1版本建造一个简单的Digg客户端应用。这些教E旨在按序阅读Q帮着解释Silverlight的一些核心编E概c?/p>

理解用户控g

Silverlight和WPF的一个根本性的设计目标是允许开发h员能够轻村֜把UI功能装成可重用的控件。开发h员可以通过从一个现有的Controlc(或Control基类或象TextBox, Button{这L控gQ承而来实现新的自定义控件。或者,他们也可以创建可重用的用hӞq既方便使用XAML标识文g来组成一个控件的UIQ而且实现h也容易?

Ҏ(gu)们的Digg应用Q我们想要实C个主从表场景Q在其中Q应用允许终端用h索一个主题,填充一个跟该主题相关的故事的列表,然后允许他们从中选择一个故事来调出l节。例如,从列表中选择一个下q故事:

会调个故事的l节视图Q?/p>

我们徏造一个StoryDetailsView用户控g来实现这个细节视图,在从ListBox中选出一个故事时Q我们将昄q个视图?

创徏StoryDetailsView 用户控g

我们开始在Visual Studio中的DiggSample目上右击,选择“d新项”Q这会调Z个新的对话框,我们选择UserControl模板Q将我们要徏的新控g命名?#8220;StoryDetailsView”Q?

q会往我们的DiggSample目中添加一个以此ؓ名的新UserControlQ?/p>

使用用户控g建造一个基本模式对话框

我们用我们的StoryDetailsView控g有效地显CZ个包含故事细节的对话框。当我们的故事细节用h件显C时Q我们将要它出现在网늚其他内容的上方,保l端用户在关闭细节视图之前无法操作页面上的其他东ѝ?

有几U不同的方式我们可以实现q个模式对话框似的行为。对q个特定的场景,我们先从打开StoryDetailsView.xaml用户控g着手,往其中加入如下XAML内容Q?

上面W一个控?lt;Rectangle>是配|成Stretch以占据屏q上剩下的空_它的背景填充颜色是有炚w明的灰Ԍ因ؓ它的Opactity ?.765Q你q可以看C点它后面的东?Q。第二个控g<Border>然后重叠在q个Rectangle控g之上Q在屏幕上占据一个固定的宽度。它h一个蓝色的背景Ԍ内含一个CloseQ关闭)按钮?

在显C时Q我们的StoryDetailsView用户控g目前显C下面q样的UIQ?/p>

我们可以在该用户控g的后C码文件中实现“CloseBtn_Click”事g处理Ҏ(gu)Q在按下按钮Ӟ关闭按钮的事件处理函数将把用h件的Visibility属性设成ؓ“Collapsed”Q这会导致它从屏q上消失Q用户将q回C面的内容Q?

 

昄我们的StoryDetailsView控g

让我们的StoryDetailsView用户控g出现在屏q上的一个简单的方式是把它加在Page.xaml文g的底部,然后其默认的Visibility属性设成CollapsedQ意味着在应用装载时是不可见的)Q?

然后我们在Page.xaml的后C码类中处理ListBox 控g的SelectionChanged事gQ?/p>

当用户选择列表中的一个特定故事时Q我们可以用ListBox ?SelectionChanged事g?ShowDetailsView 用户控g的Visibility属性设?#8220;Visible”Q?/p>

q会D我们的模式用h件对话框出现Q在用户点击它的“CloseQ关闭)”按钮Ӟ它就会消失,用户可以随意选择另一个故事,重复q个q程?/p>

把故事数据传入我们的StoryDetailsView用户控g

最l我们想要我们的StoryDetailsView用户控g昄跟终端用户在故事ListBox中选择的故事有关的详细信息?/p>

在我们的ListBox的SelectionChanged事g处理函数中(在我们的page的后C码类中)Q我们可以通过ListBox的SelectedItem属性获取对应于用户所选择的ListBox中的条目行的那个DiggStory数据对象?/p>

我们可以用来把这?DiggStory 对象传入我们的StoryDetailsView用户控g的一个做法是Q就在显C用h件之前,把用h件上的DataContext属性设|成所选择的DiggStory故事对象Q?/p>

然后我们在我们的用户控g内编写代码,使用DataContext来显C结果,或者我们也可以使用数据l定表达式绑定其倹{?

例如Q我们可以象下面q样更新StoryDetailsView的XAMLQ用数据绑定表辑ּ来来昄所选故事的标题Q?/p>

现在Q当用户点击列表中的一个故事时Q?/p>

我们ListBox的事件处理函数就会处理其选择Q将用户控g的DataContext设成所选择的DiggStory对象Q然后显C用hӞ

注意上面因ؓ我们d的数据绑定表辑ּ的缘故,DiggStory的标题是如何出现在用h件之中的?/p>

完成我们的用h件的布局

我们上面的例子演CZ如何~写一个简单的M表对话框工作程的基本知识。我们可以往用户控g中加更多的控Ӟ和数据绑定表辑ּ来完成StoryDetailsView的显C:

我们可以通过更新StoryDetailsView?<Border> 控gQ之拥有下列内容,来如上图般显C:

之后Q不需要Q何代码改动。因为我们用了数据l定来从DataContext中取得数|我们不需要编写Q何额外的代码?/p>

下一?/u>

xQ我们实C我们的Digg应用的所有的核心功能以及交互性工作流E?/p>

我们要做的最后一步是q一步细调应用的UIQ特别地Q我们想要对ListBox和Button按钮加点更ؓ好看Q定制的外观?/p>

要那么做的话Q让我们跛_下一个教E:?a target="_blank" mce_>使用控g模板定制控g的观?/a>》?



]]>
Silverlight 教程W五部分Q用 ListBox ?DataBinding 昄列表数据 (木野狐译) http://m.tkk7.com/wangbbs2007/articles/297144.html乐java?/dc:creator>乐java?/author>Sat, 03 Oct 2009 05:40:00 GMThttp://m.tkk7.com/wangbbs2007/articles/297144.htmlhttp://m.tkk7.com/wangbbs2007/comments/297144.htmlhttp://m.tkk7.com/wangbbs2007/articles/297144.html#Feedback0http://m.tkk7.com/wangbbs2007/comments/commentRss/297144.htmlhttp://m.tkk7.com/wangbbs2007/services/trackbacks/297144.htmlq是8个系列教E的W?部分Q这个系列示范如何?Silverlight 2 ?Beta1 版本来创Z个简单的 Digg 客户端应用。这些教E请依次阅读Q将有助于?zhn)理?Silverlight 的一些核心编E概c?/p>

?ListBox ?DataBinding 昄我们?Digg 故事

前面我们使用?DataGrid 控g来显C我们的 Digg 故事。当我们想用多列的格式来昄内容Ӟ它很适合。然而对我们?Digg 应用E序而言Q也许我们想E微改变一下页面的昄方式Q让它看h不太像网|而更像一个列表。好消息是,q很Ҏ(gu)实现 - q且我们不需要改变Q何程序代码?/p>

首先我们?DataGrid 控g替换?<ListBox> 控g。我们保持原有的控g名称 ("StoriesList")Q?/p>

 

重新q行一下程序,搜烦故事QListBox 会显C搜索结果如下:

你可能觉得奇?- Z么每个条目都变成?"DiggSample.DiggStory"? q是因ؓ我们?DiggStory 对象l定l了 ListBoxQ而绑定的默认行ؓ会调用这些对象的 ToString() Ҏ(gu)Q。如果我们想改用每个 DiggStory 对象?Title 属性来昄条目Q可以设|?ListBox ?DisplayMemberPath 属性:

q样做之后的效果如下Q?/p>

如果要每ơ显CZ止一个|或者定制每个条目的布局Q我们可以覆?ListBox 控g?ItemTemplateQƈ提供一个自定义?DataTemplate. 然后在这?DataTemplate 内,定制每个 DiggStory 对象如何昄?/p>

例如Q我们可以用 DataTemplate 同时昄 DiggStory ?Title ?NumDiggs |如下所C:

?DataTemplate 中,我们可以l定 DiggStory 对象中我们所需的Q何公共属性。注意上面我们是如何?{Binding 属性名} 语法Q配合两?TextBlock 控g来完成这一点的?/p>

讄了上q?DataTemplate 后,我们?ListBox 会显C如下:

让我们再q一步,修改 DataTemplate 的定义如下。其中用了两个 StackPanel - 一个用于水q_堆叠行,另一个用来垂直地堆叠文本?TextBlock)?/p>

上述 DataTemplate 会我们?ListBox 用如下方式显C条目:

 

我们?App.xaml 文g中定义如下的 Style 规则Q注意如何?LinearGradientBrush 来获?DiggPanel 上的好看的渐变背景效果)Q?/p>

 

关于 ListBox 有一点值得注意 - 即我们定制了其条目的显C方式,它仍然会提供(zhn)Q以及选中状态的语义Q不你使用的是鼠标q是键盘Q上/下方向键QHome/EndQ等Q:

ListBox q支持完整的式改变大小的功?- q在需要的时候提供内容的自动卷动功能Q注意当H口变小Ӟ水^滚动条是如何出现的)Q?/p>

下一?/u>

我们现在已经把数据的昄切换成了Z列表的方式,q清理了其内容列表?/p>

现在让我们来完成q个E序的最后一点功能性行?- 实现一个主/从工作流E,让用户在列表中选择某个文章时能查看其细节。详见下一: ?a target="_blank" mce_>使用用户控g实现?从场?/a>》?/p>

]]>
Silverlight教程W四部分Q?Style 元素更好地封装观?(木野狐译) http://m.tkk7.com/wangbbs2007/articles/297143.html乐java?/dc:creator>乐java?/author>Sat, 03 Oct 2009 05:37:00 GMThttp://m.tkk7.com/wangbbs2007/articles/297143.htmlhttp://m.tkk7.com/wangbbs2007/comments/297143.htmlhttp://m.tkk7.com/wangbbs2007/articles/297143.html#Feedback0http://m.tkk7.com/wangbbs2007/comments/commentRss/297143.htmlhttp://m.tkk7.com/wangbbs2007/services/trackbacks/297143.htmlq是8个系列教E的W?部分Q这个系列示范如何?Silverlight 2 ?Beta1 版本来创Z个简单的 Digg 客户端应用。这些教E请依次阅读Q将有助于?zhn)理?Silverlight 的一些核心编E概c?/p>

使用 Style 元素更好地封装观感(Look and FeelQ?/u>

WPF ?Silverlight 支持一U?Style 机制Q它允许我们把控件的属性值封装成可重用的资源。我们可以把q些样式声明保存在独立于面的其他文件中Q然后就可以在一个应用程序中跨控件和面重用Q甚臌多个应用E序重用Q。在做一些基本定制的场景下,概念上类g?HTML 中重?CSS.

注:除了定义基本属性设|(Color, Font, Size, Margins {)QWPF ?Silverlight 里的样式q可以被用来定义和重用控件模?Control Templates) - 控g模板可以带来丰富的皮肤功能,以及改变控gl构的功能(q支持目?HTML 中的 CSS 做不到的定制场景Q。我会在q个pd的第7部分讨论控g模板?/em>

Ҏ(gu)们的 Digg 例程而言Q我们会在项目的 App.xaml 文g中定义样式。这使得该样式可以在整个应用E序中,被跨面、跨控g地重用:

首先让我们来?Digg 面?<Border>控gQ以及其中的<TextBlock> 标题Q封装样式:

我们可以?App.xaml 文g中,用下列标{来创徏两个 Style 元素Q分别封?<Border> ?<TextBlock> 的设|信息,q些讄在前面是内联定义的:

注意上述代码中,我们是如何ؓ每个 Style 元素赋予一个唯一?"Key" 值的。接下来我们可以更新我们的 <Border>> ?<TextBlock> 控gQ让它们用这?keys 来引用对应的样式定义。我们会使用一U叫?#8220;标签扩展”(markup extensions) ?XAML Ҏ(gu)来完成它。标{扩展用于非字面量的值需要被讄Ӟ另一个适用场景是绑定表辑ּQ?

我们q可以对 Page.xaml 文g中的其它控g也做cM的分L式的处理Q这样做之后Q文件内容会变成cMq样Q?/p>

用这U方式封装样式设定,可以让开发者更好的x应用E序的行义,q且q可以让我们跨控?面的重用样式?/p>

注:Beta1 中需要注意的一个问题是Q当你输错样式名U和属性定义时Q其错误信息不是很清楚(它会引发异常Q但不告诉哪里设|不对)。这会在 Beta2 中得到改q。同Ӟ如果你在加蝲样式时看到错误消息,请一定仔l查看拼写错误?

下一?/u>

现在我们已经通过 Style 引用Q将 Page.xaml 文g中的标签q行了一定的清理。让我们更进一步来自定义我们的故事数据的外观?/p>

(zhn)可以蟩C一教E以了解具体Ҏ(gu)Q??a target="_blank" mce_>使用 ListBox ?Databinding 来显C列表数?/a>》?/p>

]]>
Silverlight教程W三部分Q?Networking取回数据q填充DataGrid http://m.tkk7.com/wangbbs2007/articles/297142.html乐java?/dc:creator>乐java?/author>Sat, 03 Oct 2009 05:33:00 GMThttp://m.tkk7.com/wangbbs2007/articles/297142.htmlhttp://m.tkk7.com/wangbbs2007/comments/297142.htmlhttp://m.tkk7.com/wangbbs2007/articles/297142.html#Feedback0http://m.tkk7.com/wangbbs2007/comments/commentRss/297142.htmlhttp://m.tkk7.com/wangbbs2007/services/trackbacks/297142.htmlq是8个系列教E的W三部分Q这pdC如何使用Silverlight 2的Beta1版本建造一个简单的Digg客户端应用。这些教E旨在按序阅读Q帮着解释Silverlight的一些核心编E概c?/p>

使用Networking取回Digg故事

Silverlight 2 有内|的networking APIQ允许Silverlight客户端调用远E的REST, SOAP/WS*, RSS, JSON和XML HTTP服务。Silverlight 2q包含了内置的socket API QSystem.Net.SocketsQ,允许Silverlight客户端通过非HTTP协议来通信Q对聊天服务{这L场景非常理想Q?

跨域|络讉K

Silverlight 2应用在做|络调用Ӟ始终可以回调到它们的“原始QoriginQ?#8221;服务器(意味着它们可以调用下蝲的应用来自的同域的URLQ。Silverlight 2应用q可以做跨域|络调用Q意味着它们可以调用与下载的应用来自的不同的域上的URLQ,只要q程的web服务器拥有一个XML{略文gQ表明客L是允许做q些跨域调用的?

Silverlight 2 定义了一个XML{略文g格式Q允许服务器理员精地控制一个客L应该有些什么访问权。Silverlight 2 也遵守默认的Flash跨域{略文g格式-q意味着你可以用Silverlight 2 来调用web上已l允许Flash客户端跨域访问的M现有的远EREST, SOAP/WS*, RSS, JSON ?XML 端点Qend-point Q?

Digg.com有一套非帔R的通过HTTP通信?a target="_blank" mce_>Digg APIs。因Z们有一个Flash跨域{略文g在他们的服务器上Q我们可以直接从我们的Silverlight Digg 客户端应用中调用它们Q而不要求我们通过我们的web服务器去讉K他们的APIQ?

Digg.com 主题 Feed API

我们要允许终端用户用我们的应用输入一个搜索主题(譬如Q?#8220;Programming”Q,然后点击“搜烦”按钮Q从Digg.com取回W合条g的前N条故事:

我们可以使用Digg.com List Stories REST API feed API 来实现。它在URL中接受一个主题参敎ͼ譬如QGET /stories/topic/programmingQ,然后q回一个匹配那个主题的XML格式的Digg故事集?a target="_blank" mce_>点击q里看一下这个XML格式的例子?

使用 System.Net.WebClient 来异步调用Digg REST Feed

在上面的搜烦按钮被点M后,我们处理它的Click事gQ从WaterMarkTextBox控g中取回要搜烦的主题字W串Q然后启动一个发向Digg的网l调用,为那个主题取回相应的XML列表?/p>

Silverlight ?System.Net 命名I间下包含了WebClient辅助c(该类也在完整?NET 框架下)。我们可以用这个类从URL异步下蝲内容。异步下载Digg故事的好处是Q在{待q程服务器的回复Ӟ我们的UI不用d或变得没有反应(允许我们拥有一个非常流畅的用户体验Q?

通过WebClientcL行异步下载,我们要做的是注册一个DownloadStringCompleted事g处理Ҏ(gu)Q它?yu)在h的内容被下蝲之后被调用)Q然后调用WebClient.DownloadStringAsync(url) 辅助Ҏ(gu)来开始下载:

使用上面的代码,我们现在可以异步取回一个XML数据的字W串Q内含有关用h要的M主题的Digg故事?/p>

使用LINQ to XML把XML格式的Digg故事分析成Storycd?/u>

xQ我们可以取回Digg故事数据的XML片段了,下一步将是对其进行分析(parseQ,q将它{换成我们可以操作和绑定到控g上的DiggStory对象?/p>

我们首先定义一个DiggStoryc,该类拥有可以映射到来自Digg的XML内容上的属性(我们利用C#新的 的特性来实现Q:

然后我们可以用LINQ Q是内置?Silverlight 2中的Q和 LINQ to XML Q是包含在我们的Silverlight 应用中的一个额外的?Q来L地分析和qo从Diggq回的XML文档Q用下面的代码把它译成一个DiggStory对象序列Q?/p>

注意上面Q我们现在有了来自XML的我们可以操作的强类型的DiggStory对象?/p>

在DataGrid控g中显CDigg故事

我们用新?Silverlight DataGrid 控g来在我们的应用中昄Digg故事。要使用它,我们要引用Silverlight Data 控gE序集,然后把前面网上?#8220;Todo”文字替换成一个DataGrid控g声明Q?

DataGrid允许你明地配置列的声明和显C类型(为取得最大的控制Q,或者,你也可以讄它的AutoGenerateColumns属性成trueQ让DataGridҎ(gu)据源使用反射Q基于你的对象的定义Qؓ你创建默认的列?/p>

然后我们可以更新我们的后台代码c,用编E的Ҏ(gu)DataGrid的ItemSource属性绑定到在点LL钮时从Digg取回的故事序列:

现在Q运行我们的Silverlight应用Q做一个搜索的话,我们看CDigg取回的实时主题故事数据的列表Q?/p>

Silverlight的Datagrid支持你预期客L|格控g应该拥有的所有的标准功能Q双向原地编辑,选择Q卷动,改变表列大小{等。它q支持自动流动的布局Q意味着它可以动态地扩展或收~来充满包含它的内容容器。DataGridq拥有一个丰富的模板模型Q允怽Ҏ(gu)C和表列数据的编辑进行定制。我在将来会撰写更多的脓(chung)子,讨论如何使用DataGrid?/p>

以下的步?/u>

现在我们可以从Digg.com 取回Digg故事数据Qƈ在我们的应用中将故事数据昄出来了?

下一步将是回到我们的Page.xaml 标识Q去掉我们目前正在用的行内的样式声明?



]]>
使用布局理http://m.tkk7.com/wangbbs2007/articles/297141.html乐java?/dc:creator>乐java?/author>Sat, 03 Oct 2009 05:31:00 GMThttp://m.tkk7.com/wangbbs2007/articles/297141.htmlhttp://m.tkk7.com/wangbbs2007/comments/297141.htmlhttp://m.tkk7.com/wangbbs2007/articles/297141.html#Feedback0http://m.tkk7.com/wangbbs2007/comments/commentRss/297141.htmlhttp://m.tkk7.com/wangbbs2007/services/trackbacks/297141.htmlq是8个系列教E的W?部分Q这个系列示范如何?Silverlight 2 ?Beta1 版本来创Z个简单的 Digg 客户端应用。这些教E请依次阅读Q将有助于?zhn)理?Silverlight 的一些核心编E概c?

理解布局理

Silverlight ?WPF 都支持一U灵zȝ布局理pȝQ能让开发者和设计师轻杄定位 UI 上的控g。该布局pȝҎ(gu)式指定坐标的控g支持固定的定位模型;除此之外Q还支持一U更为动态的定位模型Q控件和布局能随着览器的大小改变而自动改变其大小和方位?/p>

?Silverlight ?WPF 中,开发者可以用布局面板来协调包含在其中的控件的位置和大。Silverlight Beta1 中内建的布局面板包括?WPF 中最常用?U:

  • Canvas
  • StackPanel
  • Grid

Canvas面板

Canvas 面板是一U很基础的布局面板Q它支持对其中的控g采用l对坐标定位?/p>

你可以通过一U?XAML Ҏ(gu)?-- "附加属?#8221; ?Canvas 中的元素q行定位。用附加属性,你可以指定控件相对于其直接父 Canvas 控g的上、下、左、右坐标的位|。附加属性很有用Q因为它让父面板可以扩展其中包含的控件的属性集。Canvas 通过定义扩展属?Top ?Left, p定义其中 Button Q或其他M UI 元素Q的 Left, TopQ而不需要真正向 Button cMdq个属性,?修改 Button cR?

我们可以?Canvas 容器中添加两个按钮,指定其距?Canvas 左侧的距Mؓ 50 像素Q离上边的距d分别?50 像素?150 像素。用如?XAML 语法卛_完成Q其?Canvas.Top ?Canvas.Left 都是附加属性的例子Q:

q些代码l制的界面效果如下:

Canvas 适用于其中包含的 UI 元素比较固定的情形,但是如果你想向其中添加更多的控gQ或?UI 需要改变大或能够UdQCanvas 昑־不太灉|。这Ӟ你不得不忙于手写代码来移?Canvas 中的东西Q这很痛苦)。应付这U动态的场景Q更好的办法通常是用其它带有相兛_能的内徏语义的布局面板Q如 StackPanel ?Grid?

StackPanel

StackPanel 是一U简单的布局面板Q它支持用行或列的方式来定位其中包含的控件。StackPanel 常用于安排页面上的一个很的 UI 部分?

例如Q我们可以用下面?XAML 标签在页面上垂直的排?个按钮:

在运行时刻,StackPanel 会自动在一个垂直地堆叠QstackQ中排列我们的按钮(【译注:q也是ؓ什么叫 StackPanel 的原因】)Q如下所C:

同样Q我们还可以?Orientation 属性设|ؓ Horizontal 而不?Vertical Q默认|Q?/p>

q会?StackPanel 水^地排?个按钮,如下图所C:

Grid面板

Grid 控g是最灉|的布局面板Q它支持用多行和多列的方式排布控件。在概念上,它和 HTML 里的 Table Q表|cM?

不同?Table 的是Q你不需要将控g内嵌到行/列元素中Q而是通过定义 <Grid.RowDefinitions> ?<Grid.ColumnDefinitions> 属性来定义 Grid 的行和列。这两个属性需要定义在 <Grid> 标签内。这样之后,你就可以在其中的控g上,?XAML ?#8220;附加属?#8221;语法指定它属于哪一行、哪一列?

比如Q我们可以用如下语法定义3?列的 Grid 布局Q然后在其中攄4个按钮:

以上代码会按下图方式排布按钮Q?/p>

除了支持l对寸定义Q如QHeight="60"Q,Grid ?RowDefinition ?ColumnDefinition 控gq支持自动改变大的模式QHeight="Auto"Q,q样会根据其中内容的寸自动改变 Grid ?Row 的尺寸(你也可以指定最大或最尺寔RӞ?

Grid ?Row ?ColumnDefinitions q支持叫?"Proportional Sizing" Q按比例~放Q的Ҏ(gu)。用q个Ҏ(gu),可以?Grid 的行列按相对比例的方式排放(如:你可以指定第二行的尺ؓW一行的2倍)?

你会发现 Grid 提供了非常多的功能和灉|?- 而它也许会成Z最l最常用的布局面板控g?/p>

用布局面板排布我们?Digg 面

我们创徏 Digg 例子的目标,是得到最l看h像下囄面Q?/p>

要创U布局Q我们首先添加一个其中包含两?RowDefinition 的根U?Grid 面板。第一行的高度?40 像素Q而第二行则占据所有剩下的I间QHeight="*"Q:

技巧:注意上面我将 Grid ?ShowGridLines 属性设|ؓ True. q样我们在运行时pL的看到其行列的分界线Q?/em>

接下来,我们在刚才的根 Grid 面板里,dW二?Grid 面板到第一行的位置Q用它来排布面剙的行Q页面头部)。我们在其中创徏3列:分别容纳标题Q搜索文本框Q和搜烦按钮Q?

完成了这些后Q我们就得到?Digg 搜烦面的基本布局Q如下所C:

注:如果不用嵌套?GridQ我们还可以用一?2?列的 Grid 来完成这个布局Q配合?Grid ?ColSpan/RowSpan Ҏ(gu)来合ƈ多个列中的内容(和你?HTML table 中的做法cMQ。我不这么做Q而是选择使用嵌套 Grid 的原因,是因h便于学习和理解?

现在我们已经完成了布局Q接下来要做的是向其中添加控件?

对头部的行,我们用内建的 <Border> 控gQ设|其 CornerRadius ?10Q以得到圆角效果Qƈ在其中添加一些文本来创徏标题。我们用内徏?<WatermarkedTextBox> 控g来创建第二列的搜索文本框。ƈ在第3列放|一个搜?<Button>. 然后我们在第二行放一些占位文字,E后我们会在q里昄搜烦l果?

注:下面我会直接在控件中内嵌样式信息QFontSize, Colors, Margins {)。在q个pd教程中,晚一Ҏ(gu)会演C如何用 Styles 来提取、封装这些设定到一个独立的文g中(cM CSSQ,以便于在整个应用E序中重用?

 

现在Q让我们q行一下应用程序,׃昄出如下的界面Q?/p>

动态改变应用程序的寸

你也许注意到了,在上面的 XAML 中我们的层控g讄成了固定的高度和宽度Q?

q样讄Q我们的 Silverlight 应用E序会一直保持这个固定的寸。放大浏览器的尺怼更明显:

虽然在某些场合下Q将内嵌的应用程序固定在 HTML 面的一个固定尺寸的区域内会很有用,但我们的 Digg 搜烦E序不一P我们宁愿它能自动随着览器而羃放,像一个普通的 HTML 面那样?

好消息是Q这很容易实现。只要去除根控g上的 Width ?Height 属性就行了Q?/p>

q样Q我们的 Silverlight 应用E序׃自动扩展Q或收羃Q,以填满其嵌入?HTML 容器。因为我们用来测试的 SilverlightTestPage.html 文g?Silverlight 控g攄在一?HTML <div>元素中,q且?CSS 讄中宽高均?100%, 所?Digg 应用E序最l会填满整个览器:

注意面头部中的文字内容的尺寸是如何随着览器宽度而自动改变的Q?/p>

当我们羃?yu)浏览器寸Ӟ带水印的文本框和搜烦按钮会保持同L寸Q因为其 Grid 容器列的宽度是固定的。包?"Digg Search" 标题?<Border> 控g却会自动调整寸Q因为其 Grid 列的宽度讄成了 Width="*".

我们不需要编写一行代码就可以启用q个布局行ؓQGrid容器和布局pȝ会ؓ我们自动调整大小或流动其中的M东西?



]]>
Silverlight教程W一部分Q?使用Silverlight 2 ?VS 2008创徏“Hello World”程?http://m.tkk7.com/wangbbs2007/articles/297140.html乐java?/dc:creator>乐java?/author>Sat, 03 Oct 2009 05:29:00 GMThttp://m.tkk7.com/wangbbs2007/articles/297140.htmlhttp://m.tkk7.com/wangbbs2007/comments/297140.htmlhttp://m.tkk7.com/wangbbs2007/articles/297140.html#Feedback0http://m.tkk7.com/wangbbs2007/comments/commentRss/297140.htmlhttp://m.tkk7.com/wangbbs2007/services/trackbacks/297140.htmlq是8个系列教E的W一部分Q这pdC如何使用Silverlight 2的Beta1版本建造一个简单的Digg客户端应用。这些教E旨在按序阅读Q帮着解释Silverlight的一些核心编E概c?

使用 VS 2008 创徏一个新的Silverlight 应用

我们来开始我们的Digg应用的开发,先选择Visual Studio 2008 中的文g->新项目菜单项Q用新目对话框创Z?#8220;Silverlight Application” Q注Q你需要在Beta1发布后,下蝲和安?VS 2008的Silverlight工具才能得到q个支持Q:

我们该目命名?#8220;DiggSample”。在点击OK按钮后, Visual Studio 会显C另外一个对话框Q允许我们选择我们是否只要创徏一个Silverlight应用目Q或者还要加一个服务器端的ASP.NET Web目到包含Silverlight应用的解x案里去:

在这个例E里Q我们将选择q要d一个ASP.NET Web Application 目到解x案里去,q将它命名ؓ“DiggSample_WebServer”。在点击OK之后QVisual Studio 会ؓ我们创徏一个解x案,里面包含一个Silverlight 客户端应用和一个ASP.NET web 服务器端应用Q?

如果我们做一ơ编译的话, Visual Studio 会自动把~译好的 Silverlight 应用拯到我们的web服务器项目中去,不需要手工的步骤或配|。VS为我们创建的默认的web服务器项目包含一个ASP.NET|页和一个静态的 HTML|页Q我们可以用来运行和试其中的Silverlight应用?

注: Silverlight应用可用于Q何web服务器(包括Linux上的ApacheQ,宿主于静态HTML文g或者Q何服务器端生成的|页Q包括PHP, Java, Python, Ruby{等Q中。在q个Digg样例中,我们不会写Q何服务器端的代码Q而是用Silverlight的跨域networking功能Q来直接讉KDigg服务的API。我选择创徏一个ASP.NET web服务器项目,主要是想获得自动的部|Ԍq且使用它内|的web服务器来做测试?

理解Silverlight应用里都有些什?/u>

在默认情形下Q一个新建的Silverlight应用目包含一个Page.xaml和一?App.xaml文gQ以及与它们相关的后収ͼcode behind Q类文gQ可以用VB, C#, Ruby 或Python来编写)Q?

XAML文g是XML文本文gQ可以用来用声明的方式指?Silverlight ?WPF应用的用L面。XAMLq可更广泛地用来用声明的方式代表.NET对象?

App.xaml 文g一般用来声明譬如象d和样式对象这样可在整个应用中׃n的资源。App.xaml的后台Applicationcd用来处理应用U的事gQ象Application_Startup, Application_Exit 和Application_UnhandledException?

Page.xaml 文gQ在默认情Ş下,是在应用ȀzL装蝲的v始的UI控g。在其中Q我们可以用UI控g来定义我们的用户界面Q然后在Page的后C码类里处理它们的事gQ详见后文)?

在我们编译DiggSample目Ӟ在默认情形下QVisual Studio 会把代码和XAML标识~译q一个标准的 .NET E序集文件中Q然后把它和M静态的资源Q象囄或我们想要包含的静态文Ӟ包装q硬盘上一个叫?#8220;DiggSample.xap”的文件中去:

“.xap”文gQ其韛_?#8220;zap”Q用标准的 .zip压羃法来减客L下蝲的大。一?#8220;hello world”.NET Silverlight 应用Q用VB或C#~写的)其大大概ؓ4KB?

注: Beta1版本中的一些控件是在程序集中实现的Q如果用这些控件的话,q些E序集会重新发布于应用的 .xap 文g中(会增加应用的大小Q超?KB的基底大)。在Digg应用中用的所有控件将会在Beta2版和最l版的核心Silverlight下蝲包中Q这意味着完成的应用的M载大大概只?-8KB范围内(所以是非常,下蝲h非常快)?

要宿dq行一个Silverlight 2 应用Q你可以?lt;object>标签加到M标准的HTML面中(不需?JavaScript Qƈ其指向 .xap 文g。Silverlight然后׃自动下蝲q个.xap 文gQ生成实例,其宿主于浏览器中的HTML|页中。这是跨览器(Safari, FireFox, IE{)Q跨q_QWindows, Mac, and LinuxQ工作的?/p>

HTML和ASP.NET试|页Q内?lt;object>标签Q其引用指向我们的Silverlight 应用Q是在我们创建项目时为我们自动添加的Q这意味着我们只要点击F5~译Q运行和试可以了?

学习如何d控g和处理事?/u>

现在我们的Digg应用什么都不做Q在q行它时Q只会调Z个空白的|页?/p>

我们可以打开目中的Page.xaml文g来改变它Q往里面加些内容Q?/p>

我们开始改变网格的背景颜色Q在其中声明一个Button控g。我们将l按钮一?x:Name"属性,讄其gؓ“MyButton“Q这会允许我们在后台代码cM用编E的Ҏ(gu)引用它。我们还设|它的Content, Width ?Height 属性:

当我们运行应用时Q我们的按钮会在网늚中间出现Q内?#8221;Push Me“内容文字Q象下面q样Q?

 

要给我们的按钮加行ؓ的话Q我们可以给它加一?Click"事g处理函数。我们可以在源码视图中通过输入事g的名U来做:

然后׃提示我们在我们的后台代码cM该用的事g处理函数Q?/p>

然后我们可以输入一个要用的C件处理方法的名称Q或者只要点d车键Q用默认的命名U定来命名事件处理方法:

然后VS׃自动地在我们的后C码类文g中创Z个占位的事g处理函数实现。我们可以用这个事件处理函数在按钮被点LQ用新的消息更新它的内容Q?

在做完上面的改动后,我们可以重新q行应用Q再ơ点L钮,现在它的内容׃被更Cؓ“Pushed!”的消息:

 



]]>
图文配置Silverlight3.0开发环境(转蝲Q?http://m.tkk7.com/wangbbs2007/articles/297081.html乐java?/dc:creator>乐java?/author>Thu, 01 Oct 2009 05:00:00 GMThttp://m.tkk7.com/wangbbs2007/articles/297081.htmlhttp://m.tkk7.com/wangbbs2007/comments/297081.htmlhttp://m.tkk7.com/wangbbs2007/articles/297081.html#Feedback0http://m.tkk7.com/wangbbs2007/comments/commentRss/297081.htmlhttp://m.tkk7.com/wangbbs2007/services/trackbacks/297081.html配置Silverlight 3 开发环?/span>

随着Silverlight 3的正式发布,开发环境也发生了一些变化。这里从头开始,再来配置一下工作环境?/span>

对与我们q些学习者来_微Y提供了一套免费的开发工兗?/span> 

微YZ一个集成式?/span>Web开发环境安装包“Microsoft Web Platform Installer”Q这个包里包含了最新的Silverlight Tools和开发环境?/span>

首先下蝲Microsoft Web Platform Installer



<!--[if !vml]--><!--[endif]-->

<!--[if !vml]--><!--[endif]--> 

http://go.microsoft.com/fwlink/?LinkID=145505

q行安装Q若你已l安装了vs2008误q此步)

<!--[if !vml]--><!--[endif]-->

?/span>Tools下的两个工具都选择?/span>

<!--[if !vml]--><!--[endif]-->

q时会弹Z个安装的列表让你认

<!--[if !vml]--><!--[endif]-->

接下来设|一?/span>SQL sa 的密?/span>

<!--[if !vml]--><!--[endif]-->

密码的要求ؓ 必须包括数字、大写字母、小写字母、特D字W?/span>

都设|好了后开始安?/span>

<!--[if !vml]--><!--[endif]-->

 安装期间有可能需要重启两?/span>

安装成功

<!--[if !vml]--><!--[endif]-->

 

q时打开刚刚安装?/span>“Visual Web Developer 2008 Express Edition”  可以看?/span>Silverlight 3的项目了

<!--[if !vml]--><!--[endif]-->

xQ?/span>silverlight 3 的后C码开发环境已l完成,接下来配|设计环境?/span>

讉Khttp://www.microsoft.com/expression/default.aspxq里下蝲“Experssion Blend 3”

<!--[if !vml]--><!--[endif]-->

q个安装是很单的?/span>

Blend 3 安装体验

看图?/span>Q)

<!--[if !vml]--><!--[endif]-->









<!--[if !vml]--><!--[endif]-->

<!--[if !vml]--><!--[endif]-->

<!--[if !vml]--><!--[endif]-->

<!--[if !vml]--><!--[endif]-->

<!--[if !vml]--><!--[endif]-->

<!--[if !vml]--><!--[endif]-->

<!--[if !vml]--><!--[endif]-->

<!--[if !vml]--><!--[endif]-->

环境都配|好?/span> Q)    开始你?/span>silverlight之旅



]]>
վ֩ģ壺 18ëƬѹۿ| ۺɫƵ| ŮƵƵa| ݺݾþѹۿ| һ23456| 鶹¹AVԭ| ޻ɫƬѿ| ĻmvѸ | ޻ɫַ߹ۿ| ձѸƵ| ޹Ʒһþ| þݹѹۿ| ɫͼۺվ| ҪWWWѿƵ| ҹƬ߹ۿ| ձһ| ɫһ| պƷרվ| ĻƵ| AVרAVͬ| AëƬ| ۺɫAPP| Ʒѹһ| ҹҹҹҹƵ| avƬ߹ۿ16Ů| þùƷƬ| ޾ƷƷԲվ| ӰƬ鶹ӰƬѹۿ| Ʒ_˳| þþƷAɫ| aƬѹۿƵ| va߹ۿ| ޹V߹ۿ| ձ18| ۺϾþó69| պѹۿƵ| aëƬѿ| һëƬѿ| ޾Ʒһ| ƵƷѹۿ99| רר|