【发布时间】:2008-09-12 11:36:58
【问题描述】:
每个 WPF 开发人员都应该知道什么?
入门级
- 强大的 .NET 2.0 背景并愿意学习!
- 解释依赖属性?
- 什么是风格?
- 什么是模板?
- 绑定
- 基类之间的区别:Visual、UIElement、FrameworkElement、Control
- 视觉与逻辑树?
- 属性更改通知(INotifyPropertyChange 和 ObservableCollection)
- ResourceDictionary - 由 a7an 添加
- UserControls - 由 a7an 添加
- 气泡和隧道路由策略之间的区别 - 由 Carlo 添加
- Microsoft 为什么要引入另一种标记语言?
- XAML
中级
- 路由事件和命令
- 转换器 - 由 Artur Carvalho 添加
- 解释 WPF 的 2-pass 布局引擎?
- 如何实现面板?
- 互操作性(WPF/WinForms)
- Blend/Cider - 由 a7an 添加
- 动画和故事板
- ClickOnce Deployment
- 皮肤/主题
- 自定义控件
- 工作线程如何更新 UI?
- DataTemplate 与 HierarchicalDataTemplate
- ItemsControl vs ItemsPresenter vs ContentControl vs ContentPresenter
- 不同类型的触发器
高级
- 附加行为示例?
- 什么是 PRISM、CAL 和 CAG?
- 工作线程如何更新 UI?
- WPF 3D - 由 a7an 添加
- Silverlight 2 和 WPF 之间的区别
- MVVM/MVP - 由 a7an 添加
- WPF 性能调优
- 像素着色器
- Freezables 的用途
还有其他“技巧”问题要问吗?
您希望您的 WPF 开发人员了解 blend 吗?
【问题讨论】:
-
我不同意“强大的 .NET 2.0 背景”。实际上 WPF 做了很多与 .NET 2.0 不同的事情,知道的更少实际上可以让您更快地掌握 WPF...
-
一些指向这些主题的链接怎么样!
-
我认为这是一个相当高的“入门级”标准。我敢打赌,如果工作职位被描述为“入门级”,那么您将不会找到很多(任何)人可以达到您的标准。好东西当然要知道,但不是大多数人所说的“入门级”。
-
我不会将“freezables 的目的”称为高级 - 如果您要谈论中级线程,那是 freezables 所属的地方。 MVVM/MVP 也不是特别复杂也不神秘。
-
我认为这些列表应该分成两份,一份用于图形/UI 设计方面,一份用于技术设计方面。 UI 设计师可能应该知道如何使用表达式混合,但不需要了解很多支持技术细节,例如可设计用户控件背后的编码。程序员需要知道如何创建可设计的控件,但不需要使用表达式混合(VS 中的 xaml 设计器应该足够了,直到 UI 设计器可以让它变得漂亮)。