了解哪些其他语言有助于理解WPF概念

时间:2009-01-27 18:50:53

标签: wpf

我注意到WPF的一个方面是它结合了我所知道的其他计算机语言的各种概念,而其他概念对我来说是全新的。

哪些语言可以帮助WPF新手理解不同的WPF概念?

例如,如果您了解XSL,那么DataTemplates看起来会很熟悉,并且样式/ UI /逻辑的分离对于之前使用HTML / CSS / JavaScript的人来说并不是新的。

但是Bindings,MarkupExtensions,Resources,RoutedEvents / Commands,Attached Properties等等呢?

是否有一些语言可以帮助理解大多数WPF概念?哪些概念对WPF来说是完全独特的?

<小时/> 的更新

所以...除了HTML和XSL之外,只有Cocoa有类似WPF的概念吗?我知道像RoutedEvents这样的东西与WPF视觉/逻辑树结构非常相关,因此不太可能在没有类似结构的平台中看到,但像Attached Properties这样的概念在许多非UI场景中似乎很有用。

6 个答案:

答案 0 :(得分:3)

我知道你的感受 - 我自己也经历过。对我帮助最大的语言实际上是普通的旧HTML - 声明式,基于树的,类似于XML。在设计UI时,您必须记住元素的自然树结构,因为像DataContext这样的东西会在树上向下推进。

如果您之前已经完成了任何WinForms编码,请将您的头撞在岩石上,直到您忘记它为止。

如果你发现自己在代码隐藏(blah.xaml.cs文件)中做了一些事情,除了设置数据上下文和按钮点击处理,那么你做错了。 (绑定几乎可以做任何事情)

我无法想到任何其他可能有用的特定语言,但是我可以推荐的一本书是Adam Nathan释放的Windows Presentation Foundation(pub.Sams)。

答案 1 :(得分:1)

与其说是一种语言,但我对Swing的经验帮助我理解了XAML基于面板的布局引擎。在那个和全局风格之间,我永远不必将位置或大小信息放入任何控件中......

答案 2 :(得分:1)

正确地执行HTML / XHTML,或者使用XSL / XSLT呈现的通用XML可能最相似。

理解WPF的设计是非常重要的,以允许非常“声明式”的编程风格,其中信息包含在XAML文件中,允许运行时(或隐式调用的库)执行“管道工作“否则你必须键入数百行代码才能完成。一些WPF概念最初可能看起来有点“巴洛克式”(过于复杂),但在非平凡的应用程序中,我认为它们提供了很大的好处。

我知道Mac OS X的Cocoa框架也有绑定。但总体而言,这是一个非常不同的系统。

我同意Unleashed这本书很好。我一直在阅读它,它对主要话题有清晰和良好的解释。

答案 3 :(得分:1)

在使用 languages 这个词时,问题有点严厉,因为WPF中的许多概念来自应用程序框架,而不是语言。

Metrowerks的PowerPlant框架捆绑在CodeWarrior工具中,是适用于Macintosh的优秀的第三代C ++框架。与许多其他人一样,它具有视图层次结构的概念,该概念与命令升级层次结构分开。 switch语句提供了任何给定级别的事件或命令的绑定,其默认值下降到下一级别。

答案 4 :(得分:0)

这个问题让我想起曾经从Karsten Januszewski阅读的一篇博文:

  

与其他UI开发范例有许多相似之处:样式感觉就像CSS一样。背后的XAML代码感觉就像ASP.NET一样。 3D感觉就像DX或OpenGL一样。路由事件感觉就像.NET事件一样。依赖属性感觉就像属性一样。列表可以继续。

WPF有着陡峭的学习曲线,在我看来,这是阻止WPF接管世界的唯一因素!

答案 5 :(得分:-4)

嗯,Win32是WPF的基础,大多数win32应用程序都是用c和c ++编写的,所以c和c ++是一些语言,可能帮助你理解WPF。

相关问题