WPF基本面?

时间:2010-08-30 13:12:27

标签: c# .net wpf vb.net

在大学,我们使用Windows Forms教授.NET(包括VB和C#)。我们想在我们的高级课程中介绍Windows Presentation Foundation(WPF)的概念。为了获得WPF的基本知识,学生需要学习哪些WPF基础知识?

这个想法是让学生在六个任务中至少有一个使用WPF,并且要学习所有这些WPF Fundamentals似乎有点令人生畏。哪三个基础被认为是强制性的?

Thanx你的时间!

7 个答案:

答案 0 :(得分:8)

这是清单。我为我的初级程序员做好了准备。

1)XAML基础知识&基本控件,如TextBox,Buttons等,
2)VisualTree和LogicalTree
3)鼓泡和隧道

4)DependencyProperty
5)AttachedProperty

6)DataTemplate
7)ControlTemplate

8)风格

9)DataBinding

<强>触发器:
10)EventTriggers
11)DataTriggers

MVVM Basics&amp;命令:
12)代表委托
13)RelayCommand
14)应用程序命令
15)RoutedEvent
16)RoutedCommand

<强>转换:
17)RenderTransform
18)LayoutTransform

<强>资源:
19)BinaryResource
20)LogicalResource
21)StaticResource
22)DynamicResource
23)RelativeResource

Panles和Basic Controls:
24)布局和面板
25)UserControl
26)ContentControl
27)一些控件如Grid,TreeView和Charts

接口和收藏:
28)IValueConverter
29)INotifyPropertyChanged
30)ObservableCollection
31)CollectionViewSource

HTH

答案 1 :(得分:6)

我真的不相信三到四个主题就足够了。但谈到最高优先级,我会说

  1. XAML和标记扩展,
  2. 布局和面板,
  3. 路由事件,
  4. 依赖关系和附加属性。

答案 2 :(得分:3)

如果您考虑如何教学地构建课程,您应该考虑Petzold's book。他构建章节的方式非常适合现场课程。它在教学上非常精细,我们在构建本书的课程方面取得了很好的经验。我们还体验到它对于具有Windows窗体背景的人来说特别有效。它仅以代码(c#)开头,后来才引入XAML。这有助于掌握框架的概念。

答案 3 :(得分:2)

在我看来,

Dependency PropertiesRouted Eventslayout model是绝对必要的。 Data Binding&amp;接下来是MVVM

我不是WPF大师,但我认为从技术上讲,WPF要复杂得多,即Windows Forms,如果以后学生很常见,那么使用“WPF-way”进行编码将很困难(特别是,如果没有html / xml背景)。我怀疑,使用WPF编写健壮的代码是可能的,而不知道它的一些主要方面。对于快速或简单的UI,WPF确实是一个糟糕的选择。潜水需要相当多的学习时间。

答案 4 :(得分:2)

出于某种原因,他们都被称为基本原则。如果您计划构建任何类型的WPF应用程序,那么您应该至少对所有这些知识有基本的了解。

如果我不得不单独解决一些事情,以便你的班级至少可以开始构建一些东西,我可能会说:

XAML和数据绑定都是必须的。依赖属性紧随其后。输入/命令/路由事件也都包括在内。

答案 5 :(得分:1)

当我开始使用WPF时,我发现Charles Petzhold的书“Applications = Code + Markup”非常有用。本书的前半部分完全是C#代码,教授WPF的基本概念(依赖属性,事件等),没有任何XAML。本书的后半部分介绍了XAML的概念,以及它与本书上半部分学到的内容之间的关系。如果我在WPF上教课,我肯定会以类似的方式解决问题 - 首先在代码中教授概念,然后介绍XAML。

答案 6 :(得分:1)

虽然这是非常主观的,但我认为好的四个(来自那个链接):

  • 元素树和序列化:这是从WinForms到WPF的全新内容,让我们了解Visual和Logical树的工作对于理解WPF中的工作方式非常重要。
  • 事件(WPF) - 同样,这与WinForms有很大不同,并带来了WPF事件建模的所有好处。
  • 样式和模板 - 这就是WPF的生命。所有绑定到UI以及不属于此类别的内容。
  • 布局系统 - 嗯,WPF不是吗?布局是整个过程中不可或缺的一部分。

除此之外,Dependency Properties是重要的,至少要了解XAML的工作原理。在WPF方面,没有真正的“唯一选项”。如果您使用WinForms等模型,这是一种全新的做事方式。我会尽可能地学习。