返回首页

简介
欢迎光临我的第三个教程初学者Expression Blend的放大器; Silverlight的。
(更新与新的额外的样式刷感谢{A})
一些,从按钮的偏差,但有这么多融合道歉!

,但它绝对不是相框!
虽然相框将是一个极好的oppertunity建立我们的第一个控制。
A控制基本上是一个可重复使用的资产,与预先定义Properites放大器;一个样式。
{S2}
概述
一个开发者的朋友来找我有点慌了手脚,他说他需要一个镜框与quot; mitredquot;演示角(45度),他提出第二天。他自己创造了一个快速去,但遇到问题,做帧的斜接角落。
想到他可能也想到:为什么有一只狗,放大器;树皮自己吗? (英语表达)
所以我扔东西他在一起,但作为一个设计师约相框是将要使用的背景有关。即将使用什么颜色,有多厚帧,放大器;什么样的配置文件,最好看。因此,我希望确保这些都是很容易为他编辑,放大器;我创建帧(AMP;太把我的名字),看起来会好,因为它可能。 (我们的设计师们非常关心我们的工作提出了最好的可以敏感 - 对不起!)
因此而相框,我发布一个优秀的初学者教程,它将使你的第一个控制。
在开始本教程之前,我建议你仔细阅读我以前在CodeProject教程:
" quot;(初学者指南)。
" quot;(控制控件模板中的元素的位置)
我有本教程分为容易参考的部分:设置的基本框架分析的框架转换成一个控制美容外科放大器;绑定 路径放大器;矢量图形数据最后的润色附加功能放大器;思考部署放大器;再利用来源
第1 - 设置的基本框架
创建一个新的Silverlight项目,在Expression Blend中,放大器;调用它的东西一样quot; PictureFramequot;
使用选择工具,大致如下所示的一些发车分频器成立。
{S3}
(不要担心比例,我们将这些进行排序后)。
现在,选择矩形工具,放大器;拖出一个矩形来填补左上角平方米。
确保边距都设置为0,放大器;删除中风。
设置填充的颜色脱颖而出的背景,(我选择了一个明亮的绿色)。
右键单击矩形,AMP,选择路径GT转换为路径。
{S4}的
(我也改变LayoutRoot的网格的颜色,白色本教程的清晰度)。
选择钢笔工具从左侧工具栏,AMP;点击左下角点的矩形(方)把它删除。
(这也可以使用直接选择工具,选择节点/点放大器已删除它)。
选择新创建的三角,放大器;重复使用复制&粘贴。
现在移到顶部的电网,放大器的正确平方米重复的三角形;确保边距设置为0。
在"属性"选项卡上的变换部分下一步,沿X轴翻转的三角形
{五}
选择矩形工具,AMP,拖出一个矩形,以填补电网之间的2个三角形的中间部分。
确保矩形的边距设置为0,放大器;中风放大器;填写匹配的三角形。
{中六}
在对象和时间线,重新命名如下图所示的3个新的元素。
{七}
(TopLeftMask,TopRightMask放大器; TopMiddleMask)
选择这3个元素,放大器,重复使用复制放大器;粘贴。
重复的元素移动到电网,AMP的底部;翻转沿Y轴反转。
{S8}
确保边距设置为0,放大器;这些元素命名BottomLeftMask,BottomRightMask放大器; BottomMiddleMask。
重复这些元素,AMP在侧块填写如下图所示。
翻转三角元素,以适应,放大器,调整矩形的大小 - 不旋转的元素中的任何一个!
(我已经改变了清晰的侧面元素的填充颜色为蓝色)。
{S9}
确保所有边距均设置为0,放大器;在网格重命名的元素,以满足他们的位置。
{S10}
第2 - 分析框架
现在,我们的框架的基本组成部分,让我们使它看起来有点更具吸引力。
选择的TopMiddleMask元素,放大器,将填充设置为线性渐变,如下图所示。
{S11}
(用黑色渐变停止在0安培;功能区100个,AMP在40白色渐变色带停止)。
现在填充的高级属性中,选择"转换为新的资源。
{S12}
在弹出的窗口,调用这个新的资源quot; VerticalGradientquot。
{S13}
现在,选择其余的顶部放,底部元素,放大器,适用于这个新创建的的资源,每个填写。
{S14}
重复的过程中,所有侧面元素设置一个Horizo​​ntalGradient资源。
取决于你如何移动放大器;翻转你的元素,你可能会结束像这样的人。
{S15}
注意,一些侧面元素的梯度,不匹配。
(我故意抵消白色的渐变中心,显示放大器;确保我们得到正确对齐的所有元素)。
如果你的项目看起来像上面的,重新调整所有元素的最简单的方法是:
翻转LeftMiddleMask放大器; RightMiddleMask元素,放大器,反向渐变的方向Horizo​​ntalGradient资源停止。这不幸的意思是,白色的渐变停止在功能区上的60,现在是设置不匹配VerticalGradient资源。
因此,而不是:
我仍然会翻转LeftMiddleMask放大器; RightMiddleMask元素,放大器,使用渐变工具,在相反的方向箭头。
这也可以做到:
开放的Horizo​​ntalGradient资源的高级属性,并改变起始点为1,AMP,终点为0。

现在你应该有一个框架匹配的梯度,一路左右。
如果你有在混乱了,刚下载放大器;打开下面的文件,重回正轨。

第3节 - 转换成控制
我真正想要的,是这个相框添加一些色彩,但我不想设置梯度。正如我将不得不调整渐变停止独立,这是繁琐的放大器;费时。尤其是当我添加更多的细节相框,加入更多的渐变停止。
,而不是我想要控制我们在一个地方的画框的颜色。就像我们在quot; Stylequot;我前面的教程,(安培{​​A2}
,但目前我们没有一种风格,只是元素的集合。因此,我们需要组好歹这些元素,让他们都封装在一个模板,有风格!
这是很容易,AMP,我们需要考虑的是什么样的控制模板最适合我们的相框。现在,如果您在看了我前面的教程中,我们发挥了周围的一个按钮控件,其风格,放大器,它的模板。
为方便起见,放大器;因为这些教程对于初学者来说,我作为一个UserControl的按钮,它不是!一个按钮控制,可以考虑作为一个UserControl的一部分,那就是 - 所有你需要知道现在!
当我们控制,我们要立足于现有的控制,因此,混合可以给予一些基本属性。相框,显然不是一个按钮,正因为如此,并不需要有一个按钮的所有功能。因此,即使认为我可以立足这个相框上的一个按钮控制,将不恰当的。
相反,我们应该寻找最基本的控制,符合我们的相框需求。对于这一点,我选择使用quot; ContentControlquot;我们的相框的基础。
,所以在对象和LayoutRoot的电网,AMP时间轴上点击右键,选择到控制。

搜索区域,在弹出的窗口中,键入quot; contentquot;过滤所有可用的控制。
然后选择quot; ContentControlquot;在结果窗口。
在名称(键)字段,调用quot这样的新控制的事; PictureFrameControlquot,放大器,点击OK。
{S18}
注:有意地避免调用它quot; FrameControlquot;作为混合已经有一个控制所谓quot; Framequot;
(FrameControl是一个导航,这里不需要的ContentControl)
您可以打电话给你控制任何你喜欢的,但所有可能使用铁矿石参考它的清晰度,应该是您的主要关注!
希望你会注意到,在对象和时间线,我们现在是在为我们的新的控制的模板。画板的顶部左上角也发生了变化,表明我们在我们PictureFrameControl的模板。我们现在也有一个的ContentPresenter,我们控制的一部分,因为这是一个一个ContentControl的默认组件。
在画板的ContentPresenter是目前模糊的,因为它在我们所能控制的顶部左上角。
所以选择的ContentPresenter,放大器;在画板上,拖动到网格的中心部分。
复位的边缘,使位于网格的中心部分的顶部左上角的ContentPresenter。
{S19}
,就是这样,关于自己的控制!
第4节 - 美容外科放大器;绑定
现在我们有一个样式,可以考虑添加一些色彩控制,以及控制我们的相框厚度。
首先,我们PictureFrameControl,AMP的风格,设置填充颜色好看。 (我有选择的蓝)
现在又回到我们的控制模板,从左边的工具栏选择矩形工具。
,并在画板上,拖曳出一个矩形填充顶行的所有3个部分,如下所示。
注:我已暂时设置此Rectangle的Fill为红色,这个截图的清晰度。
{S20}
重命名矩形这quot; TopBGroundquot;,放大器;删除中风。
现在设置填充模板绑定GT; BorderBrush的。
底部行重复这一点,放大器;两侧列,命名他们quot; BottomBGroundquot;,"LeftBGroundquot;放大器;"; RightBGroundquot。
的对象和时间线,这4个新的元素移动到列表的顶部。
因此,他们的背后是所有梯度(MASK)元素。
{S21}
现在,在选择对象和时间线"渐变"(MASK)元素,放大器;设置不透明度为50%。
一点点运气,你的相框看起来应该像下面的图片。

现在,这是很漂亮,但该帧,而粗短,所以让我们地址旁边。没有什么错误我们调整框架的厚度,通过调整行放大器;列分隔,我们在开始设置权。但是我们可以做很多很多比这更好的!!
如何设置框架的厚度,因此,它是由Border属性的样式控制?这将使它更容易控制放大器,为我们今后的需求调整。可悲的是,在Blend 3中,我们不能直观只是选择,我们希望绑定到边境属性(链接)。相反,我们需要使用自定义表达式,绑定到上,下,左放大器;风格的边框财产的权利。
所以选择的TopBGround元素,放大器;在高级属性的高度,选择自定义表达式。
{装订BorderThickness.Top,RelativeSource = {RelativeSource TemplatedParent}}
在弹出的窗口输入:
(不要担心理解这个表达式的符号,只是通知,我们都具有约束力的BorderThickness.Top)。
BottomBGround元素的高度重复的过程,但改变BorderThickness.Top,以BorderThickness.Bottom。
现在LeftBGround放大器; RightBGround元素的宽度,BorderThickness.Left放大器; BorderThickness.Right分别设置。
相框的蓝色背景已经消失,放大器,这是因为样式的边框粗细设置为0。
所以去的风格,放大器;各方设置边框的厚度为50。
这应该给你一个相框,看上去像下面的图片。

不太我们所希望的,但即使它是一个有趣的图像。
我们希望我们的蓝色背景元素,从外部向中心生长。
所以在模板中,选择TopBGround元素,放大器;设置VerticalAlignment顶部。

下一步选择的BottomBGround元素,放大器;设置VerticalAlignment底部。
现在设置LeftBGround放大器; RightBGround元素,一个左放大器Horizo​​ntalAlignment;右分别。
这应该现在使你的相框看起来像下面的图片。

(有趣的,但还没有我们想的是什么)。
电网分频器目前星(解锁挂锁),这意味着它们的整体规模成正比。
如果你读过我的教程,你可能还记得,我说有3个国家对这些网格分隔。
,固定安培星;自动调整大小。
我们希望自动调整大小,使网格分压器将增长或收缩,部分/部门内元素的需求而定。
因此,按两次第一放大器;第三排放;列分隔,将其更改为自动调整大小和匹配下面的图片。

很少(如果有的话)发生了变化,放大器,这是因为混合自动应用为这些行放大器的列大小的最小值;
这可以非常方便的时间,但有点痛了我们的需求...
要删除这些最低的设置,我们需要去行放大器; LayoutRoot的元素的列定义。
这些可以被发现在布局部分,放大器的先进部分的定义编辑器的高级部分。

(我有此窗口缩小本教程)。
,但它是一个更容易选择LayoutRoot的元素,放大器;直接编辑XAML。

删除MinWidth放大器; MinHeight参数列放大器;行定义。
这样,您的XAML看起来像下面的图片。

虽然我们在这里寻找在XAML中,值得注意的是:
quot; Controlquot;这个PictureFrame quot模板; Controlquot; ContentControlquot;,是基础上的TargetType quot;
但是,回到整理出框架的厚度... ...
现在,即使我们已删除了这些为我们列放大器的最低设置;行大小,并没有改变在画板上。
我们的相框厚度保持不变,而原因似乎还不清楚... ...
Hmmmm ....
第5 - 路径放大器;矢量图形数据
从本节的标题,你可能已经猜到了什么是防止调整我们的框架厚度。它是停止我们的专栏放大器;行分频器从调整大小,以适应样式边境参数的路径元素。因此,让我们来看看这些,以及它们如何工作。
任何人是熟悉的矢量图形,就会知道,所有的点和线构成矢量图形是相对于另一个。但你有可能永远不会真正关心的,这有一个默认的大小或比例。当您打开矢量图形,它会在该文件中所描述的单位大小。和混合不会完全一样,所以让我们来看看这个数据。
选择路径元素之一,喜欢的TopLeftMask元素,放大器;看的XAML代码。
在下面的图片,我抓住了我们感兴趣的片段

看:"数据="M0,0 L120,L120,120 zquot;
是什么这一切意味着?
好了,基本上从起点的quot; 0,0 quot;在左上角,延长距离的quot; 120quot;沿X轴,放大器;"0quot;沿Y轴。确定这一点后,确定下一个点从相同的起点,在quot; 120quot;沿X轴,放大器;"120quot;沿Y轴。
定义3分,如果你的起点,这是所有这一切都需要定义一个三角形。这些距离是指在融合的像素,而这个指定的路径,使我们的三角四角的默认大小。
因此,混合看到的这些作为这些元素应显示或绘制的最小尺寸。因此,它的路径,表面上是防止我们的专栏放大器;行的分隔,下面我们在样式设置的边框厚度,。
在这个例子中,我们不关心什么尺度绘制这些三角形,只是他们是三角形的放大器,比例正确。因此,我们可以设置沿X轴,放大器在1像素的第一点,第二点上的X轴放大器在1像素;沿Y轴像素。结合我们的出发点,我们有3点,我们的三角比例正确。
但是,这将意味着,我们的边界的最小尺寸(框架的厚度),将1个像素。不理想,如果我们希望我们的相框3或更少双方。相反,它会更有意义,如果我们把一个像素的0.1三角规模,因为这将等同于0时,在像素渲染。的比例将是相同的,AMP,这是我们关心我们的相框。
,所以在XAML中,选择quot;数据= quot; M0,0 L120,L120,120quot;",并使用从编辑菜单中的替换功能。
更改为quot;数据="M0,0 L0.1,L0.1,0.1 zquot;",放大器;全部替换,在下面的图片所示。

由魔术如果在画板,画框厚度更新,看起来像下面的图片。

你现在有一个全功能的相框控制,只需要几个涉及整洁起来。
但随时模板放大器;玩控制边框的厚度。
第6章 - 最后的润色
在模板中,选择LayoutRoot的元素,放大器;模板绑定quot; Backgroundquot。
选择的ContentPresenter,放大器;模板绑定样式的填充。
在款式,设置背景放大器; BorderBrush的颜色适合自己口味的。
(我建议你设置的背景有quot;无Brushquot;(透明)。
,如果你的愿望,适用于一些填充空间,从框架边缘的ContentPresenter。
这是它!
第7条 - 附加功能
希望你明白,水平放大​​器;垂直梯度可以调整变化框架轮廓。以及渐变的Alpha值停止,放大器;作为一个整体的元素的透明度。但在此之前开始打放大器;调整这些,我建议你复制的相框quot; Stylequot。这种方式可以有多种相框"Stylesquot;,每个都有不同的框架配置文件。
进行复制,模板放大器;风格quot;返回Scopequot;
选择相框,放大器;从"对象"菜单,选择"编辑样式GT",编辑复制。
这将使所有参数设置你以前的风格,因为他们。您现在的风格的任何​​更新,只适用于新的样式。然而,这并不适用于水平放大器;垂直梯度,因为它们不是在样式中。这些资源的UserControl,简单来说,是您的整个页面的一部分。因此,如果改变这些资源,将更新应用于相框quot; Stylesquot,因为它们都引用它们。
明显简单的解决方案,将重复这些资源,然后重命名放大器;再引用它们,样式之一。您也可能会认为,这将是非常酷的,如果我们能够增加额外的笔刷样式。水平放大器;垂直梯度,将包裹起来很好样式。我想它是这么简单,但它需要一个开发者的帮助下,得到更多的画笔,在风格。他们基本上做的,是继承自ContentControl的放大器;定义额外的功能。
制作一个CustomContentControl,放大器;不是一个风格,我们可以删除任何旧的ContentControl。
,所以你会判断,这是很值得吗?
这是!!谁请加强放大器;这些风格的形式quot PictureFrameControl(CustomContentControl);附加Propertiesquot。我们有一些次要的问题,得到它在Blend正确初始化,以便确保您重建(或可能的运行,关闭放大器;重新打开),如果您遇到任何初始问题。但我相当肯定,它是一切OK! :-)
{S2}

非常感谢
(更多关于这些额外的画笔进行讨论,可以发现在quot; Conjecturequot;部分,在本教程后面)
是另一个要考虑的,当我以前选择的ContentControl,作为我的控制的基础上。一个ContentControl是一个基类,和其他控件,如FrameControl从ContentControl的继承。 (试想,一个基类是基础,控制建立在此基础上,附加功能,以现有的功能)。这意味着,从ContentControl的继承的大多数事情,将能够有我们的PictureFrameControl样式应用到它。把帧控制在LayoutRoot的(页面),AMP,看看你是否可以适用于我们所创建的ContentControl的风格。
好是不是?
但是,如果我是基于我上FrameControl PictureFrameControl,我可能没有财产套用样式到一个ContentControl。作为FrameControl可能有额外的功能,在样式中定义,这只是在ContentControl的风格。也许不是一个问题在这个例子中,但它可以,放大器;我为什么选择基地我的基类的控制。
别的东西,这允许,我将非常简单的术语描述传达的概念是:
放置在基类的样式,我们有这种风格,放大器;风格的继承的对象(例如FrameControl)一起玩。因此,我们可以设置在基类放大器的样式;覆盖一些在继承的对象样式的样式属性。 (伟大的,如果所有对象/控件共享一个类似的quot; Themequot;或风格,可以在一个更高层次的个别类型的控制扭捏)。
(希望是有道理的,放大器;不要太深!)
猜想:从原来的文章(之前安德鲁Rissing创造了额外的刷子)的修改。
试想一下:有多少次你将要达到市场上最时髦的图片帧控制?我只想建议,如果你真的需要这个功能,比如一个图片库的应用程序。
有这些刷quot情况/问题;附加Propertiesquot;出现在每一个控制,放大器;您的应用程序。有人编辑应用程序后可能会产生混淆。他们将如何知道它仅仅是PictureFrameControl将支持这些刷子?
虽然额外的刷子都是伟大的,我想大概不会使用它们,除非我真的需要很多放大器;许多风格这种控制。我一定不知道,这些额外的画笔将如何反应在一个大型项目。所以,如果你只是在你的应用程序的几个梯度,我会亲自使用资源,为了安全起见。减少任何破损的风险是一件好事,AMP,也许是一个值得考虑的开销。而最大的尊重安德鲁,我会建议,任何设计师发言,他们的开发,实施先进的(ExtraBrushes)之前,。但是,作为一个设计工具,先进的控制非常出色,放大器很容易操纵的框架轮廓放大器;颜色提示;允许。
现在非常的最后一件事是要考虑这些渐变的资源,是光线的方向。从标准的315度(钟面时间10:30),是光?如果是这样,那么我们确实需要每帧风格的渐变资源。作为顶级放大器;底元素将需要两侧的梯度,AMP的一大亮点;侧面梯度。
之前,我们跳4个额外的画笔,我们可以思考设立现有的覆盖整个新的重叠设置(口罩)。 (刚才,所以我们不影响现有的资源)。但根据我们在现有资源的配置文件,它会改变或附加的覆盖要求的突出lowlights的个人资料点。
因此,我们有4个梯度资源卡住了,如果我们想要一个角度的光源。
第8条 - 部署放大器;重用
现在有什么不对,保持这个PictureFrameControl它在哪里,坐在了这个项目。我们可以只复制放大器;粘贴到另一个项目时,我们需要它。但它会使很多更有意义,存储了自身的资源,通过放置在资源字典。那么,当我们希望这种类型的控制,我们只需添加相关的资源字典的项目文件。这是很简单的,但它是容易的,当你知道如何!
在文件菜单中选择新项目,并会出现一个弹出窗口,如下图所示。

选择资源字典,quot; PictureFrames.xamlquot;放大器;点击OK。
现在去的权利,AMP上的"资源"选项卡,确保一切都扩大。
现在选择quot; PictureFrameControlquot;风格,放大器;拖动它的PictureFrames.xaml。
渐变资源自动跟踪,因为它们是由样式引用。
您现在应该能够删除样式放大器;在UserControl的资源,用右键单击删除。

看在项目选项卡,放大器;通知你现在有所谓quot文件; PictureFrames.xamlquot;

这是现在存储在您的控制,放大器;该项目引用。
所以,如果你想将此控件添加到另一个项目,只是去项目"菜单上,AMP,选择"添加现有项。

您PictureFrames.xaml,这是您的项目/ PictureFrame / PictureFrame目录内。
你的控制,现在可以使用它在任何新的项目,作为一项资产,在资产菜单。

(它实际上是可以在这里之前,我们移动了它,但我没想到就别提了)。
希望你明白,我们可以做的,与以前的2个按钮的教程一样。
,使它们打包在资源字典,题为像Buttons.xaml的东西。
提及资源字典的最后一件事,是编辑工作您的控件!不深入,是一个容易得多的编辑控件模板时,在UserControl的,而不是在资源字典! (稍后将对此进行更多...)
会做现在,希望是有用的,AMP;请为我的教程!
您的意见放大器;支持意味着所有我们的文章/教程作家有很大关系!
以及任何错误,或点,需要进一步澄清的反馈...
的欢呼声,
艾伦第9节 - 源
填妥PictureFrameControl,2梯度资源放大器;资源字典参考。

只是PictureFrames.xaml(2梯度资源)作为资源字典。

填妥PictureFrameControl,2个额外的quot; Stylequot的参考刷
|艾伦比斯利

回答

评论会员:出色.. 时间:2012/01/26
格雷格Cadmes
评论会员:游客 时间:2012/01/26
优秀的资源,感谢您的时间来创建一个混合教程一步一步使用简单的PictureFrame示例,我怎么能有ContentControl的自动调整大小的浏览器的大小改变呢?我试过ContentControl的包裹在一个Canvas,设置Horizo​​ntalAlignment和VerticalAlignment="拉伸",从XAML中删除Width和Height属性,仍然没有运气。任何建议将不胜感激,格雷格:|艾伦比斯利
格雷格嗨,很高兴你喜欢我的教程步骤,我有不少他们在CodeProject上,检查出:

为了使相框填充浏览器窗口,无视包裹在帆布等
你需要做的是看看这通常是所谓的"UserControl的"根元素。默认情况下,这将是一个固定的大小。所以才改变这种自动调整大小,只要所有的孩子都设置相同的,相框,将填补浏览器!

希望这能解决您的问题,让我知道如果您有任何进一步的问题,我将愉快地帮助!

艾伦如果我可以的代码,我是危险的... ...
评论会员:安德鲁Rissing 时间:2012/01/26
如果这是在WPF做,你可以提高显示DP的到处使用一些漂亮的属性混合的情况:

- ] - 过滤器在运行时定义一个特定的类型的依赖项属性
- ] - 过滤器的依赖属性,
定义的属性唯一的类别
即使这样,这不是什么你想要达到的目标的最好的解决办法。
你PictureFrame基本上是适用于_any_控制的,所以混合真的没有其他选择,但目前它给你的一切,让你的开发UI设计师()决定您想要的位置。
不管怎么说... ...良好的工作与你阿兰
评论会员:游客 时间:2012/01/26
艾伦​​比斯利
上WPF的其他信息,非常值得了解!

这是有了很大的了解依赖项属性,以及人的范围内,现在,多亏了你! (开发设计人员)

安德鲁Rissing写道:即使是这样,这是不是最好的解决办法

生命是很少完美!!

良好的工作与你太理查德再次感谢!如果我可以的代码,我是危险的... ...
评论会员:安德鲁Rissing 时间:2012/01/26
艾伦比斯利写道:你良好的工作太理查德
像明智的汤姆。
评论会员:游客 时间:2012/01/26
艾伦​​比斯利
多么尴尬! "/>(幸运的是,我在文章中!)

我能说什么? (我已经失去了情节...){ BR}
正如我通过电子邮件说,我在此刻的疯狂!

干杯黄宏! 如果我可以的代码,我是危险的... ...
评论会员:KunalChowdhury 时间:2012/01/26
嗨阿兰,

你的所有的文章真的很不错,从我5。
Kunal的问候 - 乔杜里|软件开发|金奈|印度|
评论会员:游客 时间:2012/01/26
艾伦​​比斯利
感谢非常,同样

欢呼声,

阿伦
评论会员:r_hyde 时间:2012/01/26
我要感谢你做一个纯粹的设计师的角度来看这个系列,只是不是说出来的有很多。我的设计和发展"(既不符合多少能力),但它的整洁看到如何处理这样的事情,我认为它可以帮助我们这样做既提高了我们的设计能力

欢呼声,从我5!
评论会员:游客 时间:2012/01/26
艾伦​​比斯利
您好ř海德,
的支持!
我同意,没有纯粹的设计有一个巨大的数额。
和很多其他伟大的资源,如]下降到C#代码。我不能帮助它,但我的眼睛釉,我的大脑开始融化!

显然有很多]微软的网站上,但一些像我这样的的人,喜欢的书面材料,

在我的教育,我发现这个]是优秀的。但喜欢它已覆盖Fabricam网站从开始到结束

我绝对不是一个开发者,即使我认为Flash是伟大的,发现它令人沮丧的,我需要程序员以及设计师。所以在某种程度上,避免闪光!!

欢呼声,










关于


欢呼声,

我是我最好的朋友。我们有着共同的看法,并未落认为


我是我最好的朋友。我们有着共同的看法,并未落认为



欢呼声,